【发布时间】:2013-03-21 20:41:07
【问题描述】:
我的代码会根据文本动态调整。当我们按下回车键时,它会增加高度 除非我们按回车键,否则会增加宽度。
但是我该怎么做呢
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
CGFloat height = [textView.text sizeWithFont:textView.font].height;
CGFloat width = [textView.text sizeWithFont:textView.font].width;
if ([[NSCharacterSet newlineCharacterSet] characterIsMember:[text characterAtIndex:text.length-1]])
{
self.textViewHeight += height;
[textView setFrame:CGRectMake(self.contentView.frame.origin.x, self.contentView.frame.origin.y, width, self.textViewHeight)];
self.contentView.frame = textView.frame;
self.frame = textView.frame;
[_editButton setFrame:CGRectMake(self.contentView.frame.size.width - 14, 0, 28, 28)];
}
else{
int charsAsInt = (int)(textView.text.length);
CGFloat charWidth = width / charsAsInt;
[textView setFrame:CGRectMake(self.contentView.frame.origin.x, self.contentView.frame.origin.y, width+ charWidth, self.textViewHeight)];
self.contentView.frame = textView.frame;
self.frame = textView.frame;
[_editButton setFrame:CGRectMake(self.contentView.frame.size.width - 14, 0, 28, 28)];
}
但即使我按下回车它也会增加宽度。如何预防。
【问题讨论】:
标签: ios uitextview uitextviewdelegate