没有调用uitextview方法的set占位符

时间:2012-09-06 17:03:46

标签: objective-c cocoa-touch uitextview placeholder

我看到了this answer如何为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;
    }
    
  3. 但我没有看到该方法被调用!

    我错过了什么?

    textView已经通过故事板委托给视图

    解决:

    问题在于它没有被委派。虽然我使用的是故事板 - 它只是一个出口,而不是代表。 请记住,如果您使用的是故事板,则还需要将文本视图委托给视图的橙色按钮!不仅仅是另一种方式

1 个答案:

答案 0 :(得分:0)

  

我错过了什么?

实际设置代理。

textView.delegate = self;

仅仅符合协议不会神奇地使你的对象成为任意对象的委托;这只是一个正式的事情,无论如何,UITextField如何在地球上知道它必须为其委托分配哪个类的特定实例?