我需要做这样的事情:
http://i53.tinypic.com/14x3392.png。
是UITableView
吗?或者我该怎么做?任何想法都是受欢迎的。
代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 0) {
if (indexPath.row == 0) return cell1;
} else if (indexPath.section == 1) {
if (indexPath.row == 0) return cell2;
} else if (indexPath.section == 2) {
if (indexPath.row == 0) return cell3;
}
}
答案 0 :(得分:2)
很可能是 UITableView 。可能不是(它可以是 UIScrollView ,其中视图添加了类似于表视图中的部分)。
但是如果你想在图像中创建类似的东西,我建议你使用 UITableView 和自定义单元格。因为在这种情况下,实现表视图更简单,因为您只需要关注表视图的委托和 dateSource ,而不必担心对齐视图顺序。
将 分段表格视图 与半透明,灰色边框,黑色背景视图一起用作 backgroundView 细胞。添加标签和箭头作为单元格的子视图。您可以将箭头添加为 accessoryView ,但它会垂直居中,但在图像中,箭头会稍微显示在单元格的顶部。
每个部分应该只有一个单元格。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 1;
}
可以有任意数量的部分(这里有3个)。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 3; // Can be any number
}
答案 1 :(得分:0)
是的,这很可能是一个样式表视图。 See this guide或this nice tutorial。
答案 2 :(得分:0)
您可以使用
中的tableView执行此操作 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
//here place return your array contents
}
答案 3 :(得分:0)
为什么你担心这个?它简单的人....如果你有UITableView的话,它什么都没有。是的,你必须知道: 1:在视图上设置背景图像,与表格大小完全相同。 2:将表格视图设置到它们上并使背景透明。 3:自定义表格单元格并添加到表格行。
多数民众赞成.....享受这项工作......创造力。 你可以做到这一点......
答案 4 :(得分:0)
我无法确切地说出图片中使用了什么,但我建议使用 UITableView ,特别是如果您有来自结构化对象的可变数据。
我发现一些非常有用的教程如下:
从XIB创建自定义 UITableViewCell http://www.bdunagan.com/2009/06/28/custom-uitableviewcell-from-a-xib-in-interface-builder/
UIViewTable反模式 - 一个非常好的MVC模式来构建 UIViewTable
http://www.slideshare.net/nullobject/uitableviewcontroller-antipatterns
当然Apple的文档:
HTTP:/developer.apple.com/library/ios/#DOCUMENTATION/UserExperience/Conceptual/TableView_iPhone/TableViewCells/TableViewCells.html
要记住的一个重要事实是 您应该始终通过数据源方法tableView:didSelectRowAtIndexPath:
注意:由于您需要大量透明胶片,因此可能会出现一些性能问题,尤其是在较旧的设备上。
希望这对您的项目有所帮助和好感。
答案 5 :(得分:0)
不需要滚动视图或桌面视图...两者都执行相同的操作..
只需将Tableview的背景颜色更改为清晰的颜色.....
检查此代码......
将此行放入viewDidLoad:
[tableView setBackgroundColor:[UIColor clearColor]];
和
..... //你的标签按钮等........ ...... ...... .....
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
[cell setClipsToBounds:YES];
[[cell layer] setBorderColor:[[UIColor blackColor] CGColor]];
[[cell layer] setCornerRadius:10];
}
答案 6 :(得分:0)
我们可以通过Table View和滚动视图来完成上图中所示的类似。如果您不想使用表视图,那么您可以使用滚动视图或简单视图,并可以添加几个按钮以及在背景中的图像与不同的帧。它意味着按钮背景将具有相同的图像。然后您可以使用不同的标签根据要求显示不同标签中的所有文本。 要么 您可以使用表视图。为此,您需要在委托方法中返回第3部分(在此图像中) - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView.and然后将所有内容作为默认的tableview样式。然后更改细胞样式要详细。
答案 7 :(得分:0)
是的,这是一个带有自定义UITableViewCell的tableView。您可以通过创建一个空的xib文件,然后添加一个UITableViewCell并进行自定义...然后在cellForRowAtIndexPath方法中使用:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:edentifier];
if (cell == nil) {
cell = [[[NSBundle mainBundle]loadNibNamed:@"yourCellName" owner:self options:nil]objectAtIndex:0];
这是我的申请。
答案 8 :(得分:0)
是的,它是groupedtableview
,clearcolor
为backgroundcolor
。单元格背景颜色也需要更改为clearcolor
。
答案 9 :(得分:-1)
我建议使用div或list,不要使用table,如果内容太长则很难控制。