2011-04-29 60 views

回答

1

的UITextView从UIScrollView的继承其中有一个叫scrollEnabled

您可以添加注册类作为UITextViewDelegate和实施方法

- (void)textViewDidChange:(UITextView *)textView

然后从textView对象获得text财产属性,并检查有多少换行符/回车。如果有超过5个,然后设置scrollEnabledYES

UPDATE:

看看NSString UIKit Additions,也有在这个类中的一些方法,使你得到你的NSStringCGSize,特别是sizeWithFont:constrainedToSize:lineBreakMode:

使用这个你应该能够使滚动一旦CGSize达到的高度相当于或大于5行文字,通过uifont.lineHeight*5

计算
+0

那是一个好主意,但是当文字被TextView的我怎么会知道的行数的边框包裹? – Abhinav 2011-04-29 20:50:15

+0

好点,请检查我的更新。 – 2011-04-29 21:44:49

+0

@Flash:我尝试使用它,但是在我的文本视图中有8行数据,这个方法返回的是5的数。重要的是我在数据中有7个\ n字符。 – Abhinav 2011-04-29 21:58:21

-3

尝试使用此代码:

- (void)viewDidAppear:(BOOL)animated 
{ 
    [self.tableView reloadData]; 
    if([myDataSourceArray count] < 6) 
    { 
     self.tableView.scrollEnabled = NO; 
    } 
    else 
    { 
     self.tableView.scrollEnabled = YES; 
    } 
} 
+0

viewDidAppear只会被调用一次,所以即使这样做有效,用户输入时也不会动态。他还没有使用'UITableView',因为他使用'UITextView' – 2011-04-29 21:47:24

相关问题