UILabel没有显示在静态TableView上

时间:2014-02-09 06:04:07

标签: ios objective-c uitableview label

您好我正在处理的事情有点麻烦。我有一个静态TableView与部分,我试图让我的文本定位在某个位置,所以我有一个ui标签链接到uitableviewcell。但由于某种原因它不起作用。如果你对我遇到麻烦的原因有什么想法那就太好了。我对iOS开发也有点新意,只是把它放在那里。

TableViewController.m:

}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    static NSString *CellIdentifier = @"TableCell";
    TableCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        cell = [[TableCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
    }

    int row = [indexPath row];

    if (indexPath.section==0)
        cell.textLabel.text = _1[row];
    if (indexPath.section==1)
        cell.textLabel.text = _2[row];
    if (indexPath.section==2)
        cell.textLabel.text = _3[row];
    if (indexPath.section==3)
        cell.textLabel.text = _4[row];
    if (indexPath.section==4)
        cell.textLabel.text = _5[row];
    if (indexPath.section==5)
        cell.textLabel.text = _6[row];
    if (indexPath.section==6)
        cell.textLabel.text = _7[row];
    if (indexPath.section==7)
        cell.textLabel.text = _8[row];
    return cell;
}
- (BOOL)prefersStatusBarHidden
{
    return YES;
}

@end

TableCell.h:

#import <UIKit/UIKit.h>

@interface TableCell : UITableViewCell
@property (strong,nonatomic) IBOutlet UILabel *TitleLabel;
@end

1 个答案:

答案 0 :(得分:1)

替换此行

cell.textLabel.text = _1[row];

cell.TitleLabel.text = _1[row];

不再需要此行

if (cell == nil) {
    cell = [[TableCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}

如果TableCell使用xib,则需要加载它。

TableCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    // Load the top-level objects from the custom cell XIB.
    NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"TableCell" owner:self options:nil];
    // Grab a pointer to the first object (presumably the custom cell, as that's all the XIB should contain).
    cell = [topLevelObjects objectAtIndex:0];
}
cell.TitleLabel.text = _1[row];

return cell;

你应该检查一下

- (void)registerClass:(Class)cellClass forCellReuseIdentifier:(NSString *)identifier 

告诉表视图如何创建新单元格的方法。如果指定类型的单元当前不在重用队列中,则表视图使用提供的信息自动创建新的单元对象。如果您以前使用相同的重用标识符注册了类或nib文件,则在cellClass参数中指定的类将替换旧条目(Apple文档)

在viewDidLoad方法中

[self.tableView registerClass:[TableCell class]
       forCellReuseIdentifier:@"CellIdentifier"];