0

UITextView にプレースホルダーの機能を追加したいので、次のようにします。

@interface UIPlaceholderTextView : UITextView <UITextViewDelegate>
{
    UILabel *placeholderLabel;
}

UITextView でテキストが変更されると、メソッドが呼び出されます。

#pragma UITextViewDelegate
-(void)textViewDidChange:(UITextView *)textView
{
    if (textView.text.length==0)
    {
        placeholderLabel.hidden=false;
    }
    else
    {
        placeholderLabel.hidden=true;
    }

}

IOS シミュレーター 6.1 では、すべて問題ありません。しかし、IOS シミュレーター 5.1 で実行したときのプログラムの内訳は、ここで問題が発生することがわかりました。

self.delegate = self;

デリゲート自体を作るのは適切ではないようです。しかし、正確な理由はわかりません。正しい方法は何ですか?

4

1 に答える 1