使自定义 UI 元素不在 TableViewController 中滚动
Posted
技术标签:
【中文标题】使自定义 UI 元素不在 TableViewController 中滚动【英文标题】:Make Custom UI Element not scroll in TableViewController 【发布时间】:2012-04-10 02:04:20 【问题描述】:我制作了一个自定义 UIPickerView,我希望将其隐藏,然后在按下按钮时将其动画到屏幕上。我通常对此没有问题。我只是将视图作为子视图添加到 self.view 但问题是我试图将它设置在 tableViewController 中。当我将它添加到 self.view 时,它最终只是被粘在 tableviewcontroller 上并随着 tableview 滚动......这不是我想要的。 我尝试将它添加到 self.view.window 但这不起作用......我只是无法在任何地方看到我的自定义元素。
我觉得这很简单,但我只是错过了一些东西......
【问题讨论】:
那为什么还要使用 UITableViewController 呢? 【参考方案1】:听起来您希望此选择器在需要时向上滑动屏幕然后消失。可能有很多方法可以做到这一点,但第一件事是它不应该是视图控制器的子视图。更有可能它应该是视图控制器父视图的子视图。
我会寻找最好的方式来改变观点,也许是模态的,然后朝那个方向发展。
【讨论】:
【参考方案2】:听起来你的表类继承自 UITableViewController。如果是这种情况,将选择器视图添加到 self.view 会将其添加到 tableView - 这就是它坚持使用它的原因。我会尝试让你的基类继承自高于 UITableViewController 的东西(也许是 UIViewController;你可以像 NSObject 一样高),然后给它两个属性 - 一个用于pickerView,一个用于 tableView。因此,当您将 pickerView 添加到 self.view 时,它会将其添加到表中,而不是作为其子项。
【讨论】:
以上是关于使自定义 UI 元素不在 TableViewController 中滚动的主要内容,如果未能解决你的问题,请参考以下文章