有关具有不同类型的自定义单元格的下钻菜单应用程序的问题

时间:2009-12-12 15:56:06

标签: iphone

我首先要说的是,通过NO MEANS我是一名程序员,只是了解基础知识并开始搞乱iPhone SDK。我正在开发一个简单的应用程序来模拟类项目的安全设置,但是遇到了问题,即使我已经找到了我想要完成的大部分事情的代码。我遇到的主要问题是我并没有真正了解如何整合它们。

在任何情况下,应用程序(一旦运行)在分组样式表视图中显示3个主要选项。选择第一个选项时,它应该会降低1级,并能够从列表中选择一个项目并显示所选项目的复选标记。第二个选项,我想从iPhone的设置重新创建密码窗口(尚未完成)。当选择第三个选项时,“应用程序”列表(我只是在那里抛出名称)应该显示每个的小图标和ON / OFF开关。就像我说的那样,它只是一个模拟而且我想要的就是正确显示,我不期待选择中的任何动作。

我有一些评论代码,我发现并与我想要的内容有关。我知道有些变量与我的项目无关。我附上了整个Project文件夹,在这里:

http://rapidshare.com/files/319884407/SecureIt.zip.html

我感谢任何人都可以给我的任何帮助。

1 个答案:

答案 0 :(得分:0)

您正在描述一个相当标准的表驱动应用。我没有下载和解析您的压缩源代码的倾向,并且您没有问过具体问题,但无论如何我都会尝试帮助。

基本上,对于这些类型的应用,每个不同的屏幕都是一个单独的.xib,其中包含自己的UITableView。由于您已经运行了“根”屏幕,因此您已经熟悉此模式。实现第一个选项的行为包括检测单元格何时被轻击,确定单击了哪个单元格,然后使用导航控制器弹出堆栈上的下一个视图,同时清除选择(遵循Apple的UI准则)。 / p>

这是基本模式:

#pragma mark Table Delegate Methods

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ([indexPath row] == 0)
    {
        FooViewController* fooViewController = [[FooViewController alloc] initWithNibName:@"FooView" bundle:nil];
        [self.navigationController fooViewController animated:YES];
        [fooViewController release];
    }
    else if ([indexPath row] == 1)
    {
        BarViewController* barViewController = [[BarViewController alloc] initWithNibName:@"BarView" bundle:nil];
        [self.navigationController barViewController animated:YES];
        [barViewController release];
    }

    [tableView deselectRowAtIndexPath:indexPath animated:YES]; // Conform to Apple human-interface guidelines (Table View Programming Guide for iPhone OS)
}