【问题标题】:Adding subviews to a UITableViewController's View将子视图添加到 UITableViewController 的视图
【发布时间】:2012-01-24 12:37:37
【问题描述】:

我有一个 UITableViewController 的自定义子类,它在表格中有一个可编辑的单元格。我使用 UITableViewController 是因为我得到了所有漂亮的代码,这些代码可以在键盘免费出现时移动单元格以使其可见。

对于我的一种单元格类型,我有一个 UIPicker 代替键盘出现。一切都很好,我有一个很好的动画可以像键盘一样滑入和滑出。问题是,因为我将选取器添加为 UITableViewController 的视图属性的子视图,所以用户可以上下滚动 UIPicker。

我理解为什么会发生这种情况(我假设 view 属性被分配给 viewController 的 tableView 属性,因此我的选择器被添加到 tableView 的顶部,它有一个滚动视图作为其父视图)。我不确定这是最好的/推荐的方法。

我尝试将选择器添加到 UIViewController 视图的 superView 但没有骰子:

[myViewController.view.superView addSubView:myPicker];

我仍然想保留所有漂亮的键盘效果,但希望我的选择器表现得像键盘一样,向上滑动并保持固定位置,然后在完成后滑开。

任何帮助将不胜感激。

戴夫

【问题讨论】:

    标签: iphone ios uitableview uipickerview


    【解决方案1】:

    如果您将 UITextView 用于 UIPicker,您可以尝试使用“inputView”,iOS 将为您管理动画和视图层次结构。

    您也可以始终创建一个包含 UIView,该 UIView 将包含 TableViewController 的 View 属性并将 UIPicker 添加到他。

    祝你好运

    【讨论】:

    • 谢谢,inputView 工作得非常好(再次免费提供所有表格滚动代码)。干杯戴夫。
    【解决方案2】:

    解决它的一种方法是创建一个UIActionSheet 的子类,其中包含一个选择器,并在需要时显示actionSheet。至少这是我在类似情况下所做的。

    【讨论】:

    • 嗨,Kyr,感谢您的建议看起来很有趣。最后我选择了 Or.Ron 对 inputView 的使用。有了这个,我可以免费获得很多行为,这很有帮助。再次感谢,为建议投票 +1。
    猜你喜欢
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多