问题描述
经过大量的反复试验,我放弃并提出这个问题.我见过很多人有类似的问题,但无法得到所有正确的答案.
After a lot of trial and error, I'm giving up and asking the question. I've seen a lot of people with similar problems but can't get all the answers to work right.
我有一个由自定义单元格组成的 UITableView.单元格由 5 个彼此相邻的文本字段组成(有点像网格).
I have a UITableView which is composed of custom cells. The cells are made of 5 text fields next to each other (sort of like a grid).
当我尝试滚动和编辑 UITableView 底部的单元格时,我无法将单元格正确定位在键盘上方.
When I try to scroll and edit the cells at the bottom of the UITableView, I can't manage to get my cells properly positioned above the keyboard.
我已经看到很多关于更改视图大小等的答案......但到目前为止,它们都没有很好地工作.
I have seen many answers talking about changing view sizes,etc... but none of them has worked nicely so far.
谁能用一个具体的代码示例阐明正确"的做法?
Could anybody clarify the "right" way to do this with a concrete code example?
推荐答案
滚动的功能可以简单得多:
The function that does the scrolling could be much simpler:
- (void) textFieldDidBeginEditing:(UITextField *)textField { UITableViewCell *cell; if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) { // Load resources for iOS 6.1 or earlier cell = (UITableViewCell *) textField.superview.superview; } else { // Load resources for iOS 7 or later cell = (UITableViewCell *) textField.superview.superview.superview; // TextField -> UITableVieCellContentView -> (in iOS 7!)ScrollView -> Cell! } [tView scrollToRowAtIndexPath:[tView indexPathForCell:cell] atScrollPosition:UITableViewScrollPositionTop animated:YES]; }
就是这样.根本没有计算.
That's it. No calculations at all.