IOS/Objective C:如何根据数据自定义画面

Posted

技术标签:

【中文标题】IOS/Objective C:如何根据数据自定义画面【英文标题】:IOS/Objective C: How to customize screen based on data 【发布时间】:2015-03-23 00:49:39 【问题描述】:

来自网络背景的新手试图做一些在网络上很常见但在 iPhone 上可能无法完成的事情。

我正在尝试为联系人创建一个大致类似于名片的屏幕:

John Doe
Vice President
Acme Insurance
222 Main Street
International Plaza
Anytown USA 22333
Tel: 555 555 5555
Fax: 555 555 5555
email: john.doe@acmeco.com

如果某些数据不可用,例如传真或标题,我宁愿不留空白,而是让下一行出现在前一行的正下方。

如果没有数据填充它们,在故事板中创建的标签似乎只是留下一个空白区域。

有什么方法可以让标签在空的情况下不占用空间,或者我被故事板中的布局卡住了吗?

感谢您的任何建议。

【问题讨论】:

【参考方案1】:

没有像 html/CSS 那样基于“流”的布局。有几种方法可以解决这个问题。例如:

    使用表格视图。 使用约束并手动将空标签的高度设置为 0。 手动布置标签。 使用换行符将所有内容放在一个标签中。

最佳选择取决于您希望实际视图的外观。最简单的方法可能是#4。最灵活的方式可能是#1。但同样,这取决于您的其他要求。

【讨论】:

【参考方案2】:

隐藏或空视图仍然占用空间(如您所见)。如果子视图要包含可见信息,您最好的选择可能是仅将子视图添加到您的主视图,然后在运行时重新计算布局。

视图可以由视图控制器拥有,而不必是显示的一部分。

【讨论】:

以上是关于IOS/Objective C:如何根据数据自定义画面的主要内容,如果未能解决你的问题,请参考以下文章

如何使用自定义 URL 方案 IOS Objective-c PHP

在 IOS Objective C 中,如何让单元格自动调整其子 UITableView 的内容大小

IOS / Objective-C / Storyboard:从左到右的自定义Segue在视图控制器之间创建黑条

IOS/Objective-C:UIActivityViewController:针对不同的Activity类型进行自定义

IOS/Objective-C:导航栏自定义Segue效果对比Show Segue

IOS/Objective-C:在没有 Storyboard Segue 的情况下可以在模态转换中使用自定义 Segue?