0

UITextView のプレースホルダーを作成する方法のこの回答を見ました。

次の手順を実行しました。

  1. .h クラスに次の宣言を追加します。

    @interface AdjustPhotoViewController : UIViewController<UITextViewDelegate>
    
  2. メソッドを追加しました:

    - (BOOL) textViewShouldBeginEditing:(UITextView *)textView
    {
        NSLog(@"%d",[textView tag]);
        if ([textView tag]==1){
            campaignTitle.text = @"";
        }else{
            campaignDescription.text = @"";
        }
    
        return YES;
    }
    

しかし、メソッドが呼び出されていることがわかりません!

私は何が欠けていますか?

textView はすでにストーリーボードを介してビューに委任されています

解決済み:

問題は、委任されなかったことです。私はストーリーボードを使用していましたが、デリゲートではなく、単なるアウトレットでした。ストーリーボードを使用している場合は、テキスト ビューからビューのオレンジ色のボタンにもデリゲートする必要があることに注意してください。他の方法だけでなく

4

1 に答える 1

0

私は何が欠けていますか?

実際にデリゲートを設定します。

textView.delegate = self;

プロトコルに準拠するだけでは、魔法のようにオブジェクトが任意のオブジェクトのデリゲートになるわけではありません。それは単なる形式的なものであり、とにかく、デリゲートを割り当てる必要があるクラスの特定のインスタンスを UITextField がどのように知るのでしょうか?

于 2012-09-06T17:05:44.843 に答える