【发布时间】:2011-10-11 16:15:15
【问题描述】:
我有一个在代码中创建的 UITextView:
myView = [[UITextView alloc] initWithFrame:CGRectMake(10,5,220,50)];
myView.editable = YES;
myView.font = [UIFont fontWithName:@"Helvetica" size:16];
myView.bounces = NO;
myView.delegate = self;
我也在标题中设置了 UIView *myView .. 并设置委托 - UIViewController UITextViewDelegate>
我想在用户每次写文字时隐藏一个标签 为此我检查它是否等于 0,否则它隐藏。
问题出在这个方法上——
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
if(textView.text.length == 0)
descLabel.hidden = NO;
else
descLabel.hidden = YES;
return YES;
}
程序运行,但是当我输入第一个字母时,标签仍然存在, 当我输入第二个字母时,它应该是这样的。然后我删除了这两个,它仍然消失了! (提醒:我希望标签在长度为 0 时隐藏)但是当我再次按下删除时,我可以看到标签。很奇怪..
我想在 UITextView 中有一个占位符的行为,但是这个问题很烦人
感谢您的帮助!
【问题讨论】:
标签: iphone objective-c uitextview uitextviewdelegate