希望我的UITextView仅在编辑时滚动启用

时间:2015-01-13 09:28:27

标签: ios objective-c

我无法根据不同的标准更改滚动选项以适合我的项目。

我有一个包含不同单元格的TableViewController。其中一些单元格包含一个空的UITextView。在向上和向下滚动TableView时,在点击textView并尝试滚动时会很烦人,它是滚动的空TextView而不是TableView。

我的解决方案是禁用TextView的滚动,然后在开始编辑时启用它。但是,我不能让这个工作。我取消选中“Scrolling Enabled”并为持有TextView的单元格实现了以下行:

- (void)textViewDidBeginEditing:(UITextView*)textView {
    [self.textView setScrollEnabled:YES]; }

- (void)textViewDidEndEditing:(UITextView*)textView {
    [self.textView setScrollEnabled:NO]; }

我在xcode中调试了这个,代码按预期执行。但是当我输入文本时,TextView没有启用滚动。我错过了什么?

我甚至添加了以下内容来检查scroll-option的状态:

-(void)textViewDidChange:(UITextView*)textView {
    BOOL scrollStatus = self.bodyText.scrollEnabled;
    BOOL scrollStatusInput = textView.scrollEnabled;
}

我可以看到两行中的scrollEnabled为'YES'。但我还是不能滚动。

1 个答案:

答案 0 :(得分:0)

尝试通过以下方式设置委托:

cell.textView.delegate = self;

有一件事,你在做什么

[self.textView setScrollEnabled:YES];

self.textView是否包含tableViewCell的textView的引用?如果它确实应该工作,否则你需要保留TableViewCell的textView的引用。希望这有助于.. :))