2012-06-28 108 views
3

我只是想要一个静态表格查看其中的项目。我为此任务使用了Xcode 4.2和故事板。所以我创建了一个TableViewController(子类UITableViewController)的TableView。我将内容定义为“静态单元格”和样式“分组”。静态单元格:内容不出现

之后,我把一些标签和所有那些我想要在这些单元中拥有的物体。我创建奥特莱斯在tableViewController:

#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 

放入电池标签部分内容:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.label1.text = @"This is a title"; 
    self.label2.text = @"Annika"; 
    self.imageview.image = [UIImage imageNamed: @"picture.jpg"]; 
} 

构建之后并运行,它不显示我的任何元素的...做什么我做错了?

左:在故事板中,右:在模拟器中。 enter image description here

+0

你把任何信息放在单元格中吗? – Alexander

+0

是的,至少对于标签和图片。 (参见上文,我编辑了我的问题!)但是,尽管我不会在细胞中添加任何信息,但它至少应该让我看到细分控制? – Kirinriki

+0

tableviewcontroller一定有问题。我意识到,当我没有控制器时,我的标签将被查看。所以也许必须有一个隐式声明tableviewcontroller中的内容。 – Kirinriki

回答

13

对于静态表视图,你不能执行任何数据源的方法。 UITableViewController的基本实现具有它们自己的版本,这些方法通过读取故事板文件来返回适当的内容。这些方法是提供表格内容的方法,例如numberOfRows,numberOfSections,heightForRow,cellForRow等等。

就你而言,你已经实施了tableView:cellForRowAtIndexPath:,并且每次都返回空单元格。这意味着你的单元格大小是正确的,但内容已经消失。

此外,静态表格视图中内容的任何出口都将被设置,直到调用[super viewWillAppear:animated]之后的。在viewDidLoad中,它们仍然是零,在那里你调用它们,因为表格视图在这一点上没有要求它的任何内容。

+0

好吧,所以我必须在' - (void)viewWillAppear:(BOOL)animated'中设置所有插座。像'[self setLabel1:nil];'?但不设置零。如果这是正确的,我必须写什么而不是'nil'?对不起,我是一个如此血腥的初学者。 – Kirinriki

+0

你在问题中的代码很好,只是在错误的地方! – jrturton

+0

这很好听。我把'self.Label1.text = @“这是一个标题”; (void)viewDidLoad,in - (void)viewWillAppear:(BOOL)animated',在' - (void)viewDidAppear:(BOOL)animated'中,但它仍然没有' t想要被观看:(我没有足够的知识来把它放在应该放的地方,这也许就是为什么我把代码随机地放在每个可能的地方 – Kirinriki