【发布时间】:2014-03-24 14:38:06
【问题描述】:
我有相当大的由文本字段组成的 UITableViewController。我需要在屏幕底部展示我的pickerView。 pickerView 的问题是它在表格滚动时滚动(因为我已将它作为子视图添加到 tableView)。我看到的唯一选择是将此 pickerView 添加到窗口:
UIWindow *window = [[UIApplication sharedApplication] keyWindow];
[window addSubview:view];
但是,不确定这一点,它看起来像一个 hack。使用 iOS6+ 安全吗?有没有人有更优雅的解决方案将pickerView添加到tableView的底部并使其粘在底部?
在storyboards之前,我一直使用通用的UIViewController而不是UITableViewController,但是我现在的项目使用的是storyboards和静态表格视图,所以我不能使用通用的UIViewController。我对 UITableViewController 不满意的主要原因是它的 tableView 是根视图,并且您可能会运行一些令人讨厌的问题(包括这个)。例如,您不能将任何视图放在中心顶部,因为将视图添加为子视图将最终将此视图放置在表格内容中而不是上方。因此活动指示器和其他自定义视图不能停留在中心,因为如果您滚动 tableView,那么这些视图也会滚动。在窗口内添加顶视图的解决方案通过代码工作,但您仍然无法通过情节提要添加它。
【问题讨论】:
标签: ios objective-c uitableview