Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 一个UITableView中的多个样式_Iphone_Objective C_Cocoa Touch_Uikit - Fatal编程技术网

Iphone 一个UITableView中的多个样式

Iphone 一个UITableView中的多个样式,iphone,objective-c,cocoa-touch,uikit,Iphone,Objective C,Cocoa Touch,Uikit,将多种样式组合到一个UITableView中的最佳方式是什么 例如,在iTunes音乐商店应用程序(音乐选项卡)中,顶部有广告,然后是大型圆形表格单元格,然后是分组样式表格单元格,等等。我希望在顶部有一个自定义视图单元格,然后是几行分组样式表格单元格,然后是几行普通样式表格单元格 我目前正在使用UITableViewStyleGrouped初始化我的UITableView,它可以很好地满足我对分组样式单元格的需求,但是我找不到一个好方法来覆盖单个单元格的样式,以便创建其他样式单元格 有什么建议吗

将多种样式组合到一个UITableView中的最佳方式是什么

例如,在iTunes音乐商店应用程序(音乐选项卡)中,顶部有广告,然后是大型圆形表格单元格,然后是分组样式表格单元格,等等。我希望在顶部有一个自定义视图单元格,然后是几行分组样式表格单元格,然后是几行普通样式表格单元格

我目前正在使用UITableViewStyleGrouped初始化我的UITableView,它可以很好地满足我对分组样式单元格的需求,但是我找不到一个好方法来覆盖单个单元格的样式,以便创建其他样式单元格


有什么建议吗?

有几件事:您可以将
UITableView
tableHeaderView
tableFooterView
属性设置为自定义视图,以实现您所说的iTunes音乐商店应用程序屏幕的大部分功能。其余部分只是返回不同的
UITableViewCell
类型,具体取决于您所在的部分:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    switch (indexPath.section) {
    case 0:
        // return a cell with the first section's style
        break;
    case 1:
        // return a cell with the second section's style
        break;
    }
}

你说的是表格样式(一个单元格是视图的全宽,另一个单元格是背景线和剖面圆角)

您可能可以通过使用一个滚动视图和两个嵌入的表视图(禁用滚动)来一起破解一些东西,但我不推荐这样做。你不应该把表格视图放在滚动视图中,这样做也不会很实用,你要为头痛做好准备


你可能会考虑重新思考你的视图结构。

iTunes商店视图可能是一个单一的UITababieView样式,它有几个部分,一个标题(ADS)和页脚(术语和条件)。如果这是你想要的样子,那就是你所需要的。你在哪里看到普通风格的手机?是的,你是对的,iTunes商店里没有普通风格的手机。但我想在我的建筑中使用它们。是否可以在同一个表视图中同时使用分组样式和普通样式?这是否会与单元重用产生冲突?如果每次调用此方法时都必须返回一个新单元格,那么dequeueReusableCellWithIdentifier是否仍然可以使用?是的,您仍然使用
dequeueReusableCellWithIdentifier
,只需为每种类型的单元格使用不同的标识符。谢谢-这很有意义。但是我不确定我的问题是关于
UITableViewCellStyle
还是关于
UITableViewStyle
。与普通样式和分组样式单元格关联的样式设置似乎是在表视图级别完成的,而不是在单元格级别,对吗?或者有没有一种方法可以让UITableView的一个部分使用
UITableViewStylePlain
进行样式设置,而另一个部分使用
UITableViewGrouped
进行样式设置。已为整个表视图设置“分组”。在分析iTunes音乐商店应用程序时,您会看到一个带有四个“特色”图形的自定义headerView,然后是第0部分,该部分使用一个(自定义)表格视图单元格,该单元格左侧有缩略图艺术、艺术家、标题和评级,以及一个V形图案。在第1节中,您将看到普通的表格视图单元格。(“完成我的专辑”,“赎回”)和披露的雪佛龙,以及第2节的普通单元格(“苹果ID:”)没有披露。是的,我开始想同样的事情。我尽了最大的努力来匹配一个设计,但现在我想我只需要修改它,使所有的东西都基于分组。谢谢