我只想拥有一个包含项目的静态 TableView 。我使用带有 Storyboard的 Xcode 4.2 来完成这项任务。所以我创建了一个带有 tableViewController(子类 UITableViewController)的 TableView。我将内容定义为“静态单元格”,并将样式定义为“分组”。
之后,我在这些单元格中放置了一些标签和所有我想要的对象。我在 tableViewController 中创建了 Outlets:
#import <UIKit/UIKit.h>
@interface tableviewcontroller : UITableViewController
@property (weak, nonatomic) IBOutlet UILabel *label1;
@property (weak, nonatomic) IBOutlet UILabel *label2;
@property (weak, nonatomic) IBOutlet UISegmentedControl *segmented;
@property (weak, nonatomic) IBOutlet UIImageView *imageview;
@property (weak, nonatomic) IBOutlet UITextView *text;
@end
在cell-label中放入一些内容:
- (void)viewDidLoad
{
[super viewDidLoad];
self.label1.text = @"This is a title";
self.label2.text = @"Annika";
self.imageview.image = [UIImage imageNamed: @"picture.jpg"];
}
构建并运行后,它没有显示任何元素...我做错了什么?
左: Storyboard中,右:模拟器中。
最佳答案
对于静态 TableView ,您不得实现任何数据源方法。 UITableViewController 的基本实现有自己的这些方法版本,它们通过读取 Storyboard 文件返回适当的内容。这些方法是那些提供表格内容的方法,例如numberOfRows、numberOfSections、heightForRow、cellForRow 等等。
在您的例子中,您已经实现了 tableView:cellForRowAtIndexPath:
并且每次都返回空单元格。这意味着您的单元格大小正确,但内容不见了。
此外,在调用[super viewWillAppear:animated]
之前,不会设置静态 TableView 中内容的任何导出。在您调用它们的 viewDidLoad 中,它们仍然为零,因为此时 TableView 尚未请求任何内容。
关于ios - 静态单元格 : Content does not appear,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11238869/