您确实使用 NSJSONSerialization 创建了一个字典数组,然后逐个解析该数组并创建每个字典的视图。您可能最好使用以下方法:
-(UIView *) listView: (NSString *)songName andArtist:(NSString *)artist andPrice:(NSString *)price andIndex:(int)viewIndex {
//create your view here and do anything you want
UIView *subView = [[UIView alloc] init] autoRelease];
subView.frame = CGRectMake(0, viewIndex * 70, self.view.frame.width, 70);
//add labels and other stuff
// return the view
return subView;
}
您可以通过设置不同的 Y 值将其添加到当前视图中,以便它们使用前一种方法的 viewIndex 显示在彼此下方...因此,如果您有一个数组,它会像这样:
for (int i = 0; i < [array count]; i++) {
NSDictionary *dict = [array objectAtIndex:i];
NSString *songName = [dict valueForKey:@"song_name"];
NSString *artist = [dict valueForKey:@"artist"];
NSString *price = [dict valueForKey:@"price"];
UIView *tempView = [self listView:songName andArtist:artist andPrice:price andIndex:i];
[self.view addSubView:tempView];
}
您必须将其全部添加到滚动视图中,否则您将遇到页面上的行数过多的问题。如果您不知道如何使用 Google for UIScrollView。
但我建议不要使用这种方法。表格视图的存在是有原因的。它们是为这些东西而生的。因为还提供了滚动、绘图和刷新。如果可以,请使用它们!