2010-11-12 19 views
1

创建用户界面有多难?哪些视图基于用户拥有的数据? 所以说我可以有一个滚动视图,并且特定的用户A可以有一个由X,Y,Z组成的视图,而用户B可以有一个由Y或Z组成的视图。我只关心将视图定位在视图中,因为我们现在无法通过界面构建​​器来完成视图,并且需要对其进行编码。在iphone中构建动态用户界面

回答

0

您可以不喜欢的UITableView,即-cellForRowAtIndexPath,或者更明确的二传手喜欢UIMenu你设置项基于回调的方法。

对于后一种方法,有一个-setObjectsArray:或类似的方法,你可以根据输入数据配置你的子视图,也就是说,如果你有(x,y,z)数据到第0视图= x,第1视图= y等

Next override -layoutSubviews并根据它们在顺序和边界中的位置设置每个视图的框架。

这有帮助吗?

1

您可以使用多个视图和控件构建整个应用程序,而无需触摸Interface Builder。 UI视图和元素都可以通过编程方式进行分配和配置。

苹果甚至还有关于如何构建数据驱动的应用程序用户界面的WWDC 2010视频。

+1

这是哪里?我无法在itunes上的WWDC 2010页面上找到它 – aherlambang 2010-11-12 17:05:56

+1

登录到developer.apple.com并查找开发视频 – 2011-07-22 01:03:03

+0

有没有关于如何做到这一点的任何示例?只有这样说:“这样做,太棒了!”但除了展示plist示例外,没有解释如何实现这一权利。 – 2013-01-08 13:20:17

1

如果其他人正在寻找数据驱动的UI信息,WWDC2010的WWDC帖子在游戏开发视频第1部分(视频401)中大约在40-41分钟。

除此之外,关于Objective-C的数据驱动用户界面并没有太多的信息。我即将把它添加到一个现有的项目,因为我们需要同一屏幕的多个布局,我发现很难只基于布局切换视图(破坏了内存中的绑定)。

虽然不应该太难,但加载plist并使用KVC设置所有值的简单框架。

如果人们是KVC的新手,我会建议添加以下方法,以防止在您设置不存在的密钥时发生错误,如果非程序员要做一些布局。

- (void)setValue:(id)value forUndefinedKey:(NSString *)key { 
    NSLog(@"The key %@ does not exist.", key); 
} 
0

FYI:这届#117: “建立一个服务器,驱动用户体验”

您可以通过iTunesU找到它:

  1. 搜索WWDC2010
  2. 进入 “应用程序框架”
  3. 获取“会话117 - 建立服务器驱动的用户体验”

PDF幻灯片在页面上:WWDC 2010 Session Videos

Ray