所以例如我在我的uiviewcontroller中有这个
- (void)loadView {
CGRect frame = [[UIScreen mainScreen] applicationFrame];
MyDetailView *detailView = [[MyDetailView alloc] initWithFrame:frame];
self.view = detailView;
[detailView release];
}
现在我在我的视图中添加了一些标签,例如
@property(nonatomic, retain) UILabel *descriptionLabel;
如果我想在我的ViewController中设置它,我通常会做类似
的事情self.view.descriptionLabel.text = @"foo";
因为这会产生一个警告我把它带到
[[(MyDetailView*)self.view descriptionLabel] setText:@"foo"];
有更好的方法吗? F.E.告诉我的ViewController,view属性是一个子类?有没有办法,或者我应该在另外的ivar中保存我的详细视图?
感谢您的提示!
答案 0 :(得分:1)
我不相信你所演示的内容有什么不妥。我可能会稍微改写一下,但这可能是一个偏好问题:
myView = (MyDetailView *)[self view];
[myView setDescriptionLabel:@"foo"];
答案 1 :(得分:0)
你编写它的方式,看起来你正在将UILabel设置为NSString值,所以这可能只是一个编辑。你试过吗
self.view.descriptionLabel.text = @"foo";
答案 2 :(得分:0)
UIView
设置为您的自定义MyDetailView。然后调用self.view
将直接访问自定义视图的属性。