作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 UITableViewController
子类,用于为我的应用输入设置。我将自定义按钮添加到表页脚,方法是将它们添加到我在调用 tableView:viewForFooterInSection: 时返回的 View 。
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
CGRect viewRect = self.view.bounds;
float height = _settings.isNew ? 50.0 : 110.0;
float margin = (viewRect.size.width > 480.0) ? 44.0 : 10.0;
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, viewRect.size.width, height)];
GradientButton* button = [[GradientButton alloc] initWithFrame:CGRectMake(margin, 5, viewRect.size.width - margin * 2, 44)];
[view addSubview:button];
[button addTarget:self action:@selector(testConnectionClicked:) forControlEvents:UIControlEventTouchUpInside];
[button release];
if (!_settings.isNew)
{
// I add another button
}
return [view autorelease];
}
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
return _settings.isNew ? 50 : 110;
}
从 UITableViewController 继承子类的全部意义在于避免出现键盘出现时将单元格滚动到 View 中的问题。
这基本上可以正常工作,但是当编辑移动到最后一个单元格时,它似乎试图将表格页脚滚动到 View 中。这意味着在 iPhone 上的横向 View 中,它实际上将编辑文本字段滚动到 View 之外。
最佳答案
我通过在 tableviewcontroller
的 tableview
下面添加一个额外的 UIView
来解决这个问题,而不是在我最后一个 tableview
部分。
如果您希望在多个部分使用该页脚,这当然不能解决您的问题。
关于iphone - UITableViewController 使用大表页脚滚动太远,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7222643/
我是一名优秀的程序员,十分优秀!