根据行数启用textview中的滚动

时间:2011-04-29 01:45:02

标签: iphone objective-c cocoa-touch uiview textview

如果行数超过5,我想在textview中启用滚动,否则不应该滚动。这可能吗?如何实现?

2 个答案:

答案 0 :(得分:1)

UITextView继承自UIScrollView,它具有一个名为scrollEnabled的属性

您可以添加注册您的类作为UITextViewDelegate并实现方法

- (void)textViewDidChange:(UITextView *)textView

然后从textView对象获取text属性,并检查有多少换行符/回车符。如果数量超过5,则将scrollEnabled设置为YES

<强>更新

看看NSString UIKit Additions,此课程中有一些方法可让您获得CGSize的{​​{1}},具体为NSString

使用此功能,您应该能够在sizeWithFont:constrainedToSize:lineBreakMode:达到由CGSize

计算的高度等于或大于5行的文本高度后启用滚动功能

答案 1 :(得分:-3)

尝试使用此代码:

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