您的位置:首页 > 产品设计 > UI/UE

为UITextView添加通知..来检测UITextView内容的改变

2015-09-30 17:23 447 查看
self.mTextView =[[UITextView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH - 100, 28)];

self.mTextView.backgroundColor =[UIColor whiteColor];

self.mTextView.delegate = self;

self.mTextView.text = @"我来说几句....";
[self.mSecondaryBackView addSubview:self.mTextView];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textDidChanged:) name:UITextViewTextDidChangeNotification object:nil];

- (void)textDidChanged:(NSNotification *)notif //监听文字改变 换行时要更改输入框的位置

{

CGSize contentSize = self.mTextView.contentSize;

UILabel *holdPlace = (UILabel *)[self.mTextView viewWithTag:1500];

if (holdPlace) {

holdPlace.text = @"";

}

if (contentSize.height > 140){

return;

}

CGFloat minus = 3;

CGRect selfFrame = self.mBackView.frame;

CGFloat selfHeight = self.mTextView.superview.frame.origin.y * 2 + contentSize.height - minus + 2 * 2;

CGFloat selfOriginY = selfFrame.origin.y - (selfHeight - selfFrame.size.height);

selfFrame.origin.y = selfOriginY;

selfFrame.size.height = selfHeight;

self.mBackView.frame = selfFrame;

self.mSecondaryBackView.frame =CGRectMake(10, 10, 230, selfHeight-20);

NSLog(@"文字改变");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: