iOS 5创建自定义视图

时间:2012-02-29 07:03:17

标签: iphone objective-c ios ios5

我想知道创建视图的最佳方法是什么,例如以下link左侧的视图?

我知道如何制作在故事板中使用模板的应用程序,但在创建自定义视图时会在指南中丢失。这一切都是在运行时使用代码创建的吗?我是否需要在每个部分(礼物,生日......)添加一个子视图到我的主视图?任何建立这种观点的一般方法都值得赞赏。

example interface

1 个答案:

答案 0 :(得分:6)

在顶层,看起来他们有UIToolbarUITableViewUIScrollView。他们在工具栏中使用了一些自定义图形;可能他们已经实现了自己的工具栏类。

表视图可能使用自定义UITableViewCell子类。它使用可变高度行(通过在委托中定义tableView:heightForRowAtIndexPath:方法)。他们可能只是使用滚动视图而不是表视图,但我认为这是讨论的滚动视图。

每个单元格似乎至少有三个子视图:一个用于绘制单元格的标题栏,一个用于绘制单元格的内容,一个UIPageControl用于在内容下绘制页面点。

单元格的内容部分看起来可能是滚动视图,其中一些子视图用于绘制图像(UIImageView)和标签(UILabel)。对于不同的表格视图单元格,滚动视图的子视图非常不同。

你可以使用笔尖布局这样的界面。我可能会使用四个笔尖:一个用于顶级工具栏和表格视图,一个笔尖用于表格视图单元格,一个笔尖用于礼品布局(其中UILabel超过{{1 }}),以及人/日期的一个笔尖 布局(三个UIImageView s左侧有UIImageView

您需要在代码中设置一些属性。例如,假设您有一个用于表视图单元的整体布局的笔尖。它可能有一个像这样的视图层次结构:

UILabel

当您加载此笔尖以用于“浏览礼品”单元格时,您需要设置白色背景视图图层的阴影属性,因为您无法在笔尖中执行此操作。您需要在相应的视图上设置条带的颜色,图标和单元格的标题文本。您需要向滚动视图添加内容(这可能涉及为每个内容项加载一次另一个笔尖)。您需要设置页面控件上的页数。

相关问题