构建iphone设置屏幕的最佳方法

时间:2011-01-02 22:35:37

标签: iphone uikit interface-builder

我正在为iPhone应用程序构建设置屏幕,它应该类似于分组的表格视图。每个“单元格”应该像按钮一样。大多数单元格只有图像视图,标签视图和披露指示器。除了标签之外,还会显示一个值。点击时,所有这些按钮都将显示新视图。

现在,如何实现这个?我正在考虑用自定义背景图像布置一组按钮,或者最好只使用表格视图。如果是这样的话应该实施什么。到目前为止,我只使用表视图来显示某种动态数据,其中每个单元格显示相同的基本细节视图。我很想知道如何设置cellForRowAtIndexPath。这会包含某种switch语句来单独配置每个单元格,还是有更简单的方法来处理所有这些?

4 个答案:

答案 0 :(得分:5)

InAppSettingsKit是一个开源项目,可以重新创建应用程序内的设置应用程序,以实现UI一致性。您可以选择它以获得答案。

答案 1 :(得分:2)

您需要使用UITableViewController并将部分设置为UITableViewStyleGrouped

每个群组都是一个部分,因此您需要返回- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView所拥有的部分。

对于每个部分,您要指定- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section的行数。

您需要使用- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath自定义每个单元格(顺便说一句,它会告诉您在indexPath变量中要修改哪个部分的特定行)。

最后,您需要使用XCode为您提供的模式处理- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath中的行单击:

[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];

希望这有帮助!

答案 2 :(得分:0)

设置应位于iPhone上的“设置应用”下。通过将Settings.bundle添加到您自己的应用程序,您自己的应用程序设置将合并到标准设置中。

这是直截了当的,风格一致。

这里描述了如何做到这一点:

http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Preferences/Preferences.html%23//apple_ref/doc/uid/TP40007072-CH6-SW1

答案 3 :(得分:0)

首先,如果您的应用程序具有不经常修改的设置,您应该更喜欢创建设置包。但如果您需要在游戏中频繁更改设置,则应自行创建设置屏幕。

大多数情况下,屏幕应与设置默认屏幕匹配。为此,您必须使用带有自定义单元格的tableView。您可以根据您的设置类型在表格单元格中使用以下控件。 1. alabel ---用于静态文本, 2.开关---用于具有两个值(ON / OFF或o / 1或任何两组值)的设置,例如nightMode开/关, 3.滑块----用于指定值的范围,例如亮度等。

这可以在表视图中基于行索引配置cellForRowIndex委托方法。您还可以创建部分以在一种类型下对相似类型的设置进行分组。