Sir*_*III 8 cocoa-touch uitextview uitextviewdelegate ios
当我以UITextView编程方式设置我这样:
[self.textView setText:@""];
委托方法textViewDidChange:不会被调用.有没有一种方法可以在不创建UITextView子类的情况下找到它?
reb*_*o95 24
手动设置UITextView带代码的文本时,textViewDidChange:不会调用该方法.(如果您有文本视图的delegate设置,则会在用户编辑时调用它.)
一种可能的解决方法是在textViewDidChange:编辑文本时手动调用.例如:
[self.textView setText:@""];
[self textViewDidChange:self.textView];
Run Code Online (Sandbox Code Playgroud)
这种做法的一种hackish方式,但它完成了工作.
我赞成@ rebello95的回应,因为这是一种方法.但另一种不那么黑客的方法就是这样做
-(void)whereIManuallyChangeTextView
{//you don't actually have to create this method. It's simply wherever you are setting the textview to empty
[self.textView setText:@""];
[self respondToChangeInTextView:self.textView];
}
- (void)textViewDidChange:(UITextView *)textView
{
//...some work and then
[self respondToChangeInTextView:textView];
}
-(void)respondToChangeInTextView:(UITextView *)textView
{
//what you want to happen when you programmatically/manually or interactively change the textview
}
Run Code Online (Sandbox Code Playgroud)
这个代码段举例说明了一个令人尊敬的模式,它将使您的代码更具可读性.
| 归档时间: |
|
| 查看次数: |
6060 次 |
| 最近记录: |