我正在尝试在我的表视图中创建和使用自定义UITableView单元格,但它表现得很时髦。当我运行应用程序时,表格如下所示:
这是对的。但是,当我选择一个单元格时,视图会转移到:
据我所知,似乎在选择单元格后,单元格视图转移到默认的UITableViewCell布局,后面有我的星形图像......如果我继续选择每个单元格,我会得到这个:
正如您所看到的,当我再次选择单元格时,星形图像(我的自定义视图)仅显示(尽管是螺旋状的)。
我在尝试制作自定义单元格时经历了Apple's tutorial所以我知道我正在做我应该做的一切,但StackOverflow上没有其他人遇到过类似的问题......
这是我项目的代码。
TableView控制器标头
//
// TableViewController.h
// CustomCell
//
// Created by Jordan Gardner on 1/29/14.
// Copyright (c) 2014 Jordan Gardner. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface TableViewController : UITableViewController
@end
TableView控制器实现
//
// TableViewController.m
// CustomCell
//
// Created by Jordan Gardner on 1/29/14.
// Copyright (c) 2014 Jordan Gardner. All rights reserved.
//
#import "TableViewController.h"
#import "CustomCell.h"
@interface TableViewController ()
@end
@implementation TableViewController
#pragma mark - Table view methods
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 5;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *identifier = @"Cell";
CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
// Configure cell...
cell.textLabel.text = [NSString stringWithFormat:@"Item %@", [NSNumber numberWithInteger:indexPath.row]];
cell.imageView.image = [UIImage imageNamed:@"icon_folder.png"];
return cell;
}
@end
CustomCell标题
//
// CustomCell.h
// CustomCell
//
// Created by Jordan Gardner on 1/29/14.
// Copyright (c) 2014 Jordan Gardner. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface CustomCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@property (weak, nonatomic) IBOutlet UIButton *favoriteButton;
@property (weak, nonatomic) IBOutlet UILabel *textLabel;
@end
CustomCell实现
//
// CustomCell.m
// CustomCell
//
// Created by Jordan Gardner on 1/29/14.
// Copyright (c) 2014 Jordan Gardner. All rights reserved.
//
#import "CustomCell.h"
@implementation CustomCell
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
}
return self;
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
@end
因此,我将非常感谢任何有关如何阻止观点如此愚蠢的建议。提前谢谢。
答案 0 :(得分:0)
正如@ n00bProgrammer提出的问题评论中所提到的,我使用的textLabel
和imageView
等名称与默认值相冲突,从而导致问题。
答案 1 :(得分:-1)
加载tableview时,访问以下自定义单元格上的控件。
MSCMoreOptionTableViewCell *cell = (MSCMoreOptionTableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"cell"];
if (cell == nil){
cell = [[MSCMoreOptionTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:@"cell"];
}
cell.label_whatever.text = @"whatever";