我正在尝试在此项目中使用Storyboards。我从一个静态tableview单元格拖动到一个新的viewcontroller select push。
当我运行应用程序并单击我在上一步中拖动的tableviewcell时,没有任何反应?
我不确定我是否通过在tableviewcontroller类中添加以下方法来解决问题。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier1 = @"Cell1";
UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier1];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier1];
}
[cell.textLabel setFont:[UIFont fontWithName:@"GothamRounded-Light" size:18]];
cell.textLabel.backgroundColor = [UIColor clearColor];
cell.detailTextLabel.backgroundColor = [UIColor clearColor];
[cell.detailTextLabel setFont:[UIFont fontWithName:@"GothamRounded-Light" size:12]];
cell.contentView.backgroundColor = [UIColor statOffWhite];
if (indexPath.row == 0) {
cell.textLabel.text = @"Profile";
}
else if (indexPath.row == 1) {
cell.textLabel.text = @"Support";
}
else if (indexPath.row == 2) {
cell.textLabel.text = @"Share";
}
else if (indexPath.row == 3) {
cell.textLabel.text = @"About";
}
else if (indexPath.row == 4){
cell.textLabel.text = @"";
cell.frame = CGRectMake(0, 0, self.view.bounds.size.width, 200);
UIImageView *watermark = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"watermark.png"]];
watermark.frame = CGRectMake((cell.frame.size.width/2) - (watermark.image.size.width/2), 80, watermark.image.size.width, watermark.image.size.height );
[cell addSubview:watermark];
}
return cell;
}
//更新////////
我拿出了cellForRowAt方法,故事板工作正常。但是,由于我已经取出了该方法,我如何将我的单元格上的字体设置为不是Xcode选择的自定义字体?我已将该字体包含在我的项目中,我随处可用。
答案 0 :(得分:0)
您对cellForRowAtIndexPath:
的实施会发生什么?您正在从头开始创建单元格并覆盖故事板的单元格(因此您的segue未被触发)。
如果您在故事板中定义了静态单元格,则不应自行出列并创建单元格。如果您的类是UITableViewCellController
的子类,则可以调用super
的实现并使用返回的单元格。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [super tableView:tableView cellForRowAtIndexPath:indexPath];
// Customize your cell here
}
请注意,这样做没有多大意义:您在cellForRowAtIndexPath:
方法中所做的所有事情都可以而且应该在故事板中完成。
如果您确实需要以编程方式自定义静态单元格,那么可以选择在视图控制器中定义此单元格的出口,并使用适当的方法(例如viewDidLoad
)自定义单元格。