我有相当大的UITableViewController组成的文本字段。我需要在屏幕底部显示我的pickerView。 pickerView的问题是当表滚动时滚动(因为我把它作为子视图添加到tableView中)。我看到的唯一选择是将此pickerView添加到窗口中:如何在使用UITableViewController时将pickerView粘贴到底部?
UIWindow *window = [[UIApplication sharedApplication] keyWindow];
[window addSubview:view];
但是,不确定,它看起来像一个黑客攻击。使用iOS6 +安全吗?有没有人有一个更优雅的解决方案,将pickerView添加到tableView的底部并将其粘贴到底部?
在故事板之前,我总是使用泛型UIViewController而不是UITableViewController,但是我当前的项目使用了故事板和静态表视图,所以我不能使用泛型UIViewController。我不熟悉UITableViewController的主要原因是它的tableView是根视图,并且有一些可能运行的令人讨厌的问题(包括这个问题)。例如,您不能将任何视图置于顶部,因为将视图添加为子视图会将此视图置于表格内容中而不是以上。所以活动指标和其他自定义视图不能停留在中心位置,因为如果您滚动tableView,那么这些视图也会滚动。从代码中添加顶视图的解决方案的工作,但你仍然无法通过故事板添加它。
使用scrollView非常好的一点。然而,为了使用ScrollView(https://developer.apple.com/library/ios/technotes/tn2154/_index.html),我们需要一些关于contentSize的代码设置。另外,当键盘显示在与tableView的合同中时,scrollView不会自动调整大小。所以,与普通的ScrollView相比,目前tableView在内部肯定有一些好东西。 – Centurion