iOS 通过故事板将 UIView 锁定在导航栏下方和 UITableView 上方
Posted
技术标签:
【中文标题】iOS 通过故事板将 UIView 锁定在导航栏下方和 UITableView 上方【英文标题】:iOS Lock a UIView in place under the Nav Bar and above a UITableView via storyboard 【发布时间】:2012-07-19 02:46:50 【问题描述】:我使用storyboard
来布置我的GUI 对象。所以我有一个UITableViewController
,其中包含一个表格视图和一个导航栏。表视图包含一个视图和表视图单元格。该视图包含一个UITextField
、一个UIButton
和一个UILabel
。
当应用程序运行时,一切都会显示我想要的效果,并且视图位于导航栏下方和表格的第一个单元格上方。滚动时会出现问题。视图(带有文本字段、按钮和标签)也在滚动。我希望将视图锁定到位,并让表格单元格在其下方滚动。
我认为我可能需要在我的UITableViewController .m
文件中的scrollViewDidScroll
: 中实现一些代码,但我真的不确定。我更喜欢一种解决方案,它允许我使用storyboard
来布置我的 GUI 对象,然后将它们与一些支持代码连接起来,而不是通过编程来完成整个事情。
我打算在storyboard
中包含我如何布置的图片,但我作为一个新用户我不被允许:-(
提前致谢:-)
PS:如果您尝试将 UIView
从 UITableViewController
中拖出,那么 IB 会将视图放置在与第一响应者和视图控制器相同的级别,然后我什至看不到 UIView
如果我运行应用程序。
【问题讨论】:
你是如何创建 UITableViewController 的? 在情节提要中 - 所有的 GUI 对象都已使用情节提要创建。 检查两个答案,也许你的答案就在那里。 @luyuan 答案是一样的。 是的。您是否直接从情节提要中拖动 UITableViewController ?或者通过拖一个 UIViewController 然后拖一个 UIView 和一个 UITableView 进去? 【参考方案1】:实际上,您可以将视图从UITableViewController
中拖出。但请确保您不是通过从storyboard
拖动UITableViewController
直接创建UITableViewController
。您可以创建一个新的UIViewController
并将tableview
和view
拖入其中。请记住将tableview
的delegate
和datasource
设置为UIViewController
。然后视图被锁定在那里。
【讨论】:
谢谢@MattS。我实现了这个并且它有效。我在情节提要中完成了这一切。最后我没有打扰视图。我只是使用了一个 UIViewController 并向其中添加了 UITextField,然后在其下放置了一个 UITableView。【参考方案2】:尝试使用UIViewController
而不是UITableViewController
,并像没有 Storyboard 一样创建和管理表格视图。我目前正在开发的应用程序中发生了这种情况,这是我能找到的唯一解决方法。
【讨论】:
谢谢。这可能是我必须走的路。您无法将情节提要中的视图添加到 UITableViewController 是一种痛苦(但我想它的工作是照顾表视图),当它被添加到 UITableView 时,似乎没有任何简单的方法来锁定它位置。在 IB 中保留我所有 GUI 对象的可视化表示会很好。以上是关于iOS 通过故事板将 UIView 锁定在导航栏下方和 UITableView 上方的主要内容,如果未能解决你的问题,请参考以下文章