这是一个后续行动这个问题( 自定义的UIView如何,与IB / Xcode的4.5.1和iOS模拟器6.0 ),但没有必要读-这是我第一次尝试创建一个自定义的UIView,并有明确的东西,我没有得到这样THX提前任何帮助,您可以提供。
我是从Interface Builder中派生的自定义的UIView。 我想设置的大小设置为200W X 200H和的backgroundColor绿色。 当我创建我做了以下内容:
- 通过文件创建一个新的自定义的UIView - >新建 - > Objective-C类称为Tview
- >新建 - - >用户界面 - 通过文件创建一个新的视图>查看,并把它称为tnib
- 在画布中,我删除了查看,然后从Object Inspector中增加了一个新的查看和设置类名Tview。 此外,在属性检查器中,我设置的大小自由形式和背景颜色为绿色。 在大小检查,我将宽度设置为200,高度为200。
在我Tview.m我设置了如下(我已经根据其他SO问题的一些更新,但目前还不清楚这些是否仍是当前或准确):
@implementation Tview
-(id) initWithCoder:(NSCoder *)aDecoder
{
NSLog(@"in initWithCoder");
if((self = [super initWithCoder:aDecoder])) {
[self setUpView];
}
return self;
}
-(void)awakeFromNib
{
NSLog(@"in awakeFromNib");
[self setUpView];
}
-(void)setUpView
{
NSLog(@"I am in setUpView");
NSArray *subviewArray=[[NSBundle mainBundle] loadNibNamed:@"tnib" owner:self options:nil];
UIView *mainView = [subviewArray objectAtIndex:0];
[self addSubview:mainView];
}
@end
在我ViewController.xib,我拖出一个UIView,并设置自定义的类名Tview。 我#IMPORT的Tview.h文件并拖动从ViewController.xib到Tview.h并创建以下特性:
@property (strong, nonatomic) IBOutlet Tview *myTview;
我建立和运行,并得到兴田以下无限循环:
2013-03-04 06:49:05.452 Nibtest2[44524:11303] in initWithCoder
2013-03-04 06:49:05.455 Nibtest2[44524:11303] I am in setUpView
2013-03-04 06:49:05.456 Nibtest2[44524:11303] in initWithCoder
2013-03-04 06:49:05.458 Nibtest2[44524:11303] I am in setUpView
2013-03-04 06:49:05.459 Nibtest2[44524:11303] in initWithCoder
2013-03-04 06:49:05.460 Nibtest2[44524:11303] I am in setUpView
直到它最终崩溃。
我在做什么错在这里?
THX提前