iphone - iPhone Contact app 的 detailView 是如何实现的

标签 iphone ios cocoa-touch uikit abpersonviewcontroller

我想实现一个类似于 Apple 自己的联系人应用程序的详细 View 的 View ,其中显示姓名、电话号码、备注等及其编辑模式。

你能剖析整个 View 是如何完成的吗?该 View 是使用 UITableView 还是 UIScrollView 完成的?

最佳答案

联系人详细信息屏幕实际上很容易模仿。

从 UITableView 开始,并为其提供 UITableViewDataSource 和 UITableViewDelegate。您需要为要呈现的所有数据提供部分。这意味着 1 个用于自定义页眉,1 个用于自定义页脚(按钮/操作),以及大约 6 个左右的数据部分(一个部分用于电话号码,另一个部分用于电子邮件地址,等等)

在每个部分中,需要从您的数据源中提供许多行,以指示该部分有多少数据。对于每一行,一个 UITableViewCell 可用于显示实际的联系人数据(传真标签/传真号码值等)。喜欢可以花哨,但好像没必要。对于铃声之类的内容,您需要指定披露指示符。

对于页眉,您需要一个 UIImageView 和一个 UILabel,对于页脚,您将需要一些 UIButton。您可以在 InterfaceBuilder 中创建一个 UITableViewCell 的子项,其中包含这些 View ,并像其他任何东西一样将其连接起来。您可以使用 NSBundle 从其他尚未加载的 xib 加载 View 。

另一种方法是在没有 xib 的情况下在运行时动态生成 UI 小部件。这完全取决于你更愿意管理什么(代码或 xibs),对我来说,这两种方式的工作量似乎是一样的。我强烈建议通读 table view programming guide如果您还没有。

关于iphone - iPhone Contact app 的 detailView 是如何实现的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1528677/

相关文章:

ios - 以编程方式将自定义类名称设置为 Storyboard

objective-c - 如何在 iOS 上创建类似 Excel 的网格?

ios - locationOfTouch 导致 SIGABRT

iphone - 应用未运行时检查 JSON 内容的变化

ios - 如何使用 iOS Quartz 2D 绘图绘制这个复杂的形状?

ios - ENsideSwiftMenu : how to use same Navigation Bar for all View Controllers

iphone - 使用字符串中的对象运行方法

iphone - iPhone GPS 能否为正在运行的应用程序提供准确的速度?

iPhone:使用 GPS 计算步行距离

iphone - 按钮文本未对齐 Safari