タグ

UITextViewに関するTTYのブックマーク (5)

  • iOS 5の日本語キーボードの高さに対応する (iOS 3, 4, 5全対応)

    iOS 5より日語キーボードの高さが変わっているので、今まで決め打ちで高さ216pxとかやってレイアウトしていたビューが軒並み使えなくなってしまいました。今後はキーボードが出たり引っ込んだり種類が切り替わったりのタイミングできちんとキーボードの大きさを調べて適切にビューをレイアウトしてやる必要があります。ということでその対応をしたのでメモ。 前提条件として、以下の要件を満たすように作りました。iOS 3, 4, 5全てで正常に動作すること。iOS 3.0でも動作しなければならない。 キーボードのframeを適切に取得できること キーボードが出てくるタイミング、消えるタイミング、キーボードの種類が変わるタイミング、全て取れること ■まずはログを見てみる キーボードの動作のタイミング、およびキーボードのframeは、NSNotificationを使って取得することができます。使用するNoti

  • UITextViewのheight調整 - その後のその後

    UITextViewの高さ調整を、UILabelと同様に下記のようにやってしまうと、 ちゃんと合わないことがあります。 CGSize size = [textView.text sizeWithFont:textView.font constrainedToSize:CGSizeMake(TITLE_WIDTH, MAX_HEIGHT) lineBreakMode:UILineBreakModeTailTruncation]; frame.size.height = size.height; UITextViewはcontentSizeってものを持ってるので、 下記のようにすればOK. CGRect frame = textView.frame; frame.size.height = textView.contentSize.height; textView.frame = frame;

    UITextViewのheight調整 - その後のその後
  • UITextView がキーボードに隠れないようにする : Objective-C プログラミング

    大き目の UITextView を View に配置していると、それを編集しようとしたときに、キーボードの後ろに下のほうが隠れてしまう場合があります。 そういうときには、キーボードが表示されたときに UITextView の frame の y 座標や高さを小さくして、キーボードよりも上までに収まるようにすることで、キーボードに隠されてしまうことを避けるようにします。 例えば aTextView という名前の UITextView を配置している UIViewController があったとします。 元の状態を記憶する場所を用意 まず、UIViewController から派生したクラスで、UITextView の元の大きさを保存しておくための変数 _textViewFrameSaved を用意します。

  • テキストボックス

    テキストを入力する為のコントロールにはUITextFieldがあります。これは1行しか入力できないコントロールなのでURL等を指定する時に使います。 複数の行を入力させるにはUITextViewを使います。 メモ帳のようなアプリケーションではUITextViewを使います。 UITextFieldは1行の入力なので、仮想キーボード上でEnterキーを押せば編集が完了したことが分かりますが、UITextViewのように複数行を編集させるコントロールの場合、Enterキーは改行を意味することになります。 そのため、編集の開始、終了等を明確にする為にdelegateを使ってアプリケーションに通知する仕組みが備わっています。 - (BOOL) textViewShouldBeginEditing: (UITextView*) textView (戻り値) BOOL YES or NO 編集を開始し

  • 勢揃いな林檎たちーiPhoneアプリ開発備忘録ー | UITextViewの文字数カウント

    UITextViewに入力された文字数をカウントする。 UITextViewDelegateをViewControllerに宣言しておく。 @interface projectViewController : UIViewController <UITextViewDelegate> IBOutlet UILabel *letterCountLabel; ... んで、- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text を下記のような感じで使う。 letterCountLabelは文字数を表示するためのアウトレット。 letterCountLabelに文字数を表示し、100文字をオーバーしたら文字を赤くする。 - (BO

  • 1