您好我想要一张UILabel
的表格。第一列是项目的名称,第二列是该项目的值。问题是我不知道在用户登录之前我需要多少行。我知道如何在Android中向表中添加行,但似乎无法使用iPhone。我怎么做到这一点?
答案 0 :(得分:3)
考虑将UITableView与自定义单元格一起使用。
优点是,根据您的数据源,表视图可以在数据更改时自动更新。事件驱动的体系结构(即:数据可用/更改时的更新表)与objective-c land一致。
有关自定义单元格的示例:http://cocoawithlove.com/2009/04/easy-custom-uitableview-drawing.html
有关制作由数据源支持的UITableView的教程,我将向您介绍优秀的Stanford iOS编程课程,可在iTunes U上找到。
答案 1 :(得分:1)
答案 2 :(得分:0)
您需要实现UITableViewDataSource协议。在这种情况下,协议的一种方法是:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [myData count];
}
您可以在此处查看整个协议文档:
答案 3 :(得分:0)
你可以用两种不同的方式来做。
在第一个中,您可以以编程方式创建标签。标签(UILabel
类)继承自UIView
。因此,如果您有超级视图,则可以根据用户登录信息在其上添加标签。您必须使用frame
属性来定位标签。例如:
UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(100, 40, 300, 50)];
titlelabel.text = @"title";
[ySursuperview addSubview:titleLabel];
[titleLabel release];
// add labels here
在第二种情况下,您可以使用UITableView
(包含标题的标题视图)和每个UITableViewCell
包含NameX和ValueX的位置。您也可以使用自定义UITableViewCell
。
在我看来,第二种解决方案可能更优雅,更易于维护。相反,第一个更快,但你必须做一些计算才能获得你想要的网格布局。