我正在尝试创建一个自定义单元格以用于分组样式UITableView
。但是,当我运行我的代码时,我一直在代码中标记的位置遇到错误。我不知道有什么问题。请问有人可以帮我吗?
.h 文件:
@interface CustomRecommendedStepCell : UITableViewCell
{
UILabel *stepNumber;
UITextView *stepInstruction;
}
@property(nonatomic, retain)IBOutlet UILabel *stepNumber;
@property(nonatomic, retain)IBOutlet UITextView *stepInstruction;
@end
.m 文件:
#import "CustomRecommendedStepCell.h"
@implementation CustomRecommendedStepCell
@synthesize stepNumber, stepInstruction;
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self)
{
UIImageView *backgroundView = [[UIImageView alloc] init];
[backgroundView setImage:[UIImage imageNamed:@"Slate_bg.png"]];
self.backgroundView = backgroundView;
self.backgroundColor = [UIColor clearColor];
stepNumber = [[UILabel alloc] init];
stepNumber.textAlignment = UITextAlignmentLeft;
stepNumber.font = [UIFont fontWithName:kCustomFont1 size:40];
stepNumber.textColor =[UIColor whiteColor];
stepNumber.backgroundColor = [UIColor clearColor];
stepInstruction = [[UITextView alloc] init];
stepInstruction.editable = NO;
stepInstruction.textAlignment = UITextAlignmentLeft;
stepInstruction.font = [UIFont fontWithName:kCustomFont1 size:23];
stepInstruction.textColor =[UIColor whiteColor];
stepInstruction.backgroundColor = [UIColor clearColor];
[self.contentView addSubview:stepNumber];
[self.contentView addSubview:stepInstruction];
}
return self;
}
- (void)layoutSubviews
{
[super layoutSubviews];
stepNumber.frame = CGRectMake(20, 20, 50, 60); // PROBLEM OCCURS HERE!
stepInstruction.frame = CGRectMake(70, 20, 200, 60);
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
@end
这是我收到的日志消息的副本:
2011-12-22 20:34:09.801 一些应用程序[30945:10703]-[__NSCFString setFrame:]:无法识别的选择器发送到实例 0x756b340 2011-12-22 20:34:09.802 某些应用程序 [30945:10703] *** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[__NSCFString setFrame:]:无法识别的选择器发送到实例 0x756b340” *** 首先抛出调用堆栈: (0x11f052 0x1845d0a 0x120ced 0x85f00 0x85ce2 0xd7c1 0x778322 0x120e72 0x359792d 0x35a1827 0x35a1922 0x771f47 0x924edd 0x7d2fe1 0x7d3589 0x7bedfd 0x7cd851 0x778301 0x120e72 0x359792d 0x35a1827 0x3527fa7 0x3529ea6 0x3529580 0xf39ce 0x8a670 0x564f6 0x55db4 0x55ccb 0x3ab4879 0x3ab493e 0x739a9b 0x2128 0x2085为0x1) 终止称为抛出异常