【问题标题】:Using static cells in a storyboard UIView with Xcode 4.2在带有 Xcode 4.2 的故事板 UIView 中使用静态单元格
【发布时间】:2011-10-19 17:39:05
【问题描述】:

我正在尝试使用 Xcode 4.2 中的 Storyboard 设计器创建一个非常基本的登录屏幕。我想要一个包含登录名和密码字段的分组表视图。视图上还有一些其他元素,例如登录按钮、忘记密码的链接等。此外,当输入字段获得焦点时,应该能够点击背景以关闭键盘。

在 Xcode 4.2 之前,我使用实现 UITableViewDataSource 协议、生成和返回单元格等的 UIView 实现了这一点。

在 Xcode 4.2 中,这一切都感觉非常接近能够通过静态单元格选项在视觉上完成,但除非表格是 UITableViewController(或子类)的一部分,否则不允许使用静态单元格。我没有看到使用 TableViewController 来布局我在这个场景中需要的元素的方法,所以我想知道这里是否有更好的方法。

这是我想要的模拟布局:

有没有办法通过故事板设计器完成这个用例?

【问题讨论】:

  • 为什么需要背景可点击?
  • 当文本字段获得焦点时,您在字段外部单击以关闭键盘已成为一种常见的主题。另一种方法是添加带有完成按钮的键盘工具栏,尽管这不适用于我的特定布局。
  • 另一个替代全屏按钮的选项是让主 UIView 成为 UIControl。然后创建:-(IBAction)backgroundTouched:(id)sender{ [myField resignFirstResponder]} 只是一个想法。

标签: ios storyboard xcode4.2


【解决方案1】:

1) 如果您的视图控制器不是 UITableViewController 的实例,这是不可能的。

根据 Apple 的文档 (https://developer.apple.com/library/ios/#releasenotes/Miscellaneous/RN-AdoptingStoryboards/_index.html#//apple_ref/doc/uid/TP40011297):

对于作为 UITableViewController 实例视图的表格视图,您可以直接在情节提要中配置静态内容。

2) 但是 UITableViewController 有很多限制,导致你无法在很多场景中使用它:

http://www.skylarcantu.com/blog/2009/09/24/dont-use-uitableviewcontroller-really/

结论:它本质上使情节提要中的静态单元格在大多数情况下不可行。

【讨论】:

【解决方案2】:

由于您可以从情节提要中自定义单元格,因此我认为实现这种 UI 没有问题。

【讨论】:

  • 不幸的是,由于我的视图控制器不是来自 TableViewController,Xcode 4.2 不允许这种情况发生。从那以后,我继续前进并采用了旧式的实现数据源等方式。
猜你喜欢
  • 1970-01-01
  • 2011-12-07
  • 1970-01-01
  • 2012-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-05
  • 2012-02-20
相关资源
最近更新 更多