Iphone 自定义UIView子类作为UIViewController属性
我原以为我对整个视图控制器模型有很好的把握,但有些东西对我来说似乎没有多大意义。我的主要问题是添加自定义UIView子类作为UIViewController子类的属性 每当我将UIView子类的有效实例分配给该属性时,都不会发生任何事情或代码崩溃 下面是一个简短的提纲:Iphone 自定义UIView子类作为UIViewController属性,iphone,objective-c,properties,uiview,uiviewcontroller,Iphone,Objective C,Properties,Uiview,Uiviewcontroller,我原以为我对整个视图控制器模型有很好的把握,但有些东西对我来说似乎没有多大意义。我的主要问题是添加自定义UIView子类作为UIViewController子类的属性 每当我将UIView子类的有效实例分配给该属性时,都不会发生任何事情或代码崩溃 下面是一个简短的提纲: 主控制器初始化它自己的视图,加载良好 然后我可以通过实例化这个UIView子类和addSubview:ivar等将它添加到主控制器中。没有问题 然而。。。如果我想将此自定义UIView作为ViewController的属性,
- 主控制器初始化它自己的视图,加载良好
- 然后我可以通过实例化这个UIView子类和
等将它添加到主控制器中。没有问题addSubview:ivar
@interface CustomUIView : UIView { }
非常感谢这个美好的社区 您不能复制
UIView
s。或UIView
子类。试着保留吧。一个。。。是的,解决了。非常非常感谢!在选择属性属性时,我确实考虑了这一点,但选择了复制。为什么UIView上不允许复制?这尤其令人困惑,因为UILabel、UIButton等也继承自UIView,并且可以“复制”。如果问题解决,请将此答案标记为正确答案,并给他一个答案upvote@bitcruncher知道类是否可以复制的方法是,它是否实现了。
@interface MainViewController : UIViewController {
CustomUIView *someOtherView;
}
@property (nonatomic, copy) CustomUIView *someOtherView;
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor greenColor]; // the default controller view
CustomUIView *tmpView = [[CustomUIView alloc] initWithFrame:CGRectMake(0,0,320,480)];
[self.view addSubview:tmpView]; // this works
self.someOtherView = tmpView; // this does NOT work and
self.view = self.someOtherView; // ultimately, this is what i'm after
[tmpView release];
}