当键盘出现时,UITableViewController
会更改tableview
。我希望细胞留在原处;默认行为是视图简单缩小,顶部单元格保持原样。
我宁愿让底部单元留在可见按钮上。
我能想到两种方法:
scroll
方法滚动到底部。UITableView
实际上已调整大小。 (似乎是UITableViewController
的一个功能。我遇到的问题是包含UIScrollView
的{{1}} UITableView
的行为。听取UITableViewCell
和类似的事件只是为了重新定位滚动位置感觉就像用大炮射击麻雀。
答案 0 :(得分:1)
是。如果它不提供您想要的行为,请停止使用UITableViewController。相反,只需创建一个带有UITableView属性的UIViewController子类,监听键盘通知,然后根据需要做出响应;将insets添加到表视图并滚动以保持单元格可见。
答案 1 :(得分:0)
您可以控制如何调整tableview的大小和/或滚动UIKeyboardDidShowNotification
中的单元格。因此,您首先必须制作UITableViewController
观察以下两个Notifications(不确定TableViewControllers是否有必要):
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWasShown:)
name:UIKeyboardDidShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillBeHidden:)
name:UIKeyboardWillHideNotification object:nil];
您可以在viewDidLoad方法中执行此操作。然后你必须编写一些代码来做你想要的。作为一个起点,我建议您使用Apple“Text,Web和编辑iOS编程指南”中Moving Content That Is Located Under the Keyboard的代码片段。