UITextViewあれこれ

Pocket
LINEで送る

UITextViewの実装でいろいろ試してみたのでのでメモ

  キーボード表示

遷移時にbecomeFirstResponder/textViewShouldEndEditing を使用すればキーボード編集開始/終了でデリゲートが呼ばれるはずなのに呼ばれない。。。
いろいろ試してみたら、addSubviewした後にbecomeFirstResponderすることでキーボードが表示された。
こんな感じ。

CGRect rect = CGRectMake(0, 0, 250, 50);
UITextView* textView UITextViewalloc] initWithFrame:rect];
textView.delegate = self;

[hogeViewController.view addSubview:textView];
[textView becomeFirstResponder];                // キーボードを表示

続いてデリゲートメソッドはこんな感じ。戻り値をNOにすると呼ばれなくなるので注意。

- (BOOL) textViewShouldBeginEditing: (UITextView*) textView
{
    // 編集開始時の処理

    return YES;
}

-(BOOL)textViewShouldEndEditing:(UITextView *)text
{
     // 編集終了時の処理
 
    return YES;
}

 

  テキストエリアを枠線&角丸にする

デフォルトのテキストエリアだとかなり悲しい感じなので枠線を付けて角丸にしてみます。

// 枠線
textView.layer.borderWidth = 1;
textView.layer.borderColor = [[UIColorblackColor] CGColor];
// 角丸
textView.layer.cornerRadius = 5;

layerを使用するために、QuartzCore.h のimportを忘れずに。
UITextViewってなんか扱いにくいなぁ。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください