我有一个UITextView包含在UITableViewCell中。最初显示视图时布局是正确的,但是一旦我点击UITextView,它就不会自动向上滚动,整个UITextView变得不可见。
此图像是UITextView未激活的时间:
http://img13.imageshack.us/img13/3894/unloaded.png
这是当我点击UITextView使其激活时:
img337.imageshack.us/img337/2583/loaded.png(在链接之前输入“http://”,我不能发布多个超链接)
我希望带有UITextView的单元格向上滚动。我怎样才能做到这一点?
任何建议都表示赞赏。
Julio Cezar
答案 0 :(得分:0)
最简单的方法是为要移动的项目创建一个IBOutlet,然后在选择文本字段时在代码中执行类似的操作:
myTextView.center.y = 200
或您认为合适的y值。
答案 1 :(得分:0)
我已经做到了。我的解决方案不是最好的,但效果很好:所有事情都发生在tableView:cellForRowAtIndexPath:
1)对于每个具有UITextView的单元格,我都有一个NSDictionary:我使用特定的密钥在NSDictionary的单元格上保存所有的UITextView。
2)我还有另一个NSDictionary,其中包含在tableView:cellForRowAtIndexPath中创建的indexPath对象。如果单元格A具有UITextView A,则它们在NSDictionaries中具有相同的密钥。
3)我实现了UITextViewDelegate并调用了textViewDidBeginEditing:这是我的代码:
NSArray * keys = [self.answersDic allKeysForObject:textField];
id * key =(id *)[keys objectAtIndex:0];
NSIndexPath * tempIndex = [self.indexPathForViews objectForKey:key];
[tableViewLocal scrollToRowAtIndexPath:tempIndex atScrollPosition:UITableViewScrollPositionTop animated:YES];
}
意见:
a)answersDic是保存我的UITextViews的NSDictionary。
b)indexPathForViews是保存我的IndexPaths的NSDictionary。
c)此代码中最重要的部分:该方法使视图向上滚动:
[tableViewLocal scrollToRowAtIndexPath:tempIndex atScrollPosition:UITableViewScrollPositionTop animated:YES];
所以,就是这样。谢谢你的帮助!