Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 自定义UIView子类作为UIViewController属性_Iphone_Objective C_Properties_Uiview_Uiviewcontroller - Fatal编程技术网

Iphone 自定义UIView子类作为UIViewController属性

Iphone 自定义UIView子类作为UIViewController属性,iphone,objective-c,properties,uiview,uiviewcontroller,Iphone,Objective C,Properties,Uiview,Uiviewcontroller,我原以为我对整个视图控制器模型有很好的把握,但有些东西对我来说似乎没有多大意义。我的主要问题是添加自定义UIView子类作为UIViewController子类的属性 每当我将UIView子类的有效实例分配给该属性时,都不会发生任何事情或代码崩溃 下面是一个简短的提纲: 主控制器初始化它自己的视图,加载良好 然后我可以通过实例化这个UIView子类和addSubview:ivar等将它添加到主控制器中。没有问题 然而。。。如果我想将此自定义UIView作为ViewController的属性,

我原以为我对整个视图控制器模型有很好的把握,但有些东西对我来说似乎没有多大意义。我的主要问题是添加自定义UIView子类作为UIViewController子类的属性

每当我将UIView子类的有效实例分配给该属性时,都不会发生任何事情或代码崩溃

下面是一个简短的提纲:

  • 主控制器初始化它自己的视图,加载良好
  • 然后我可以通过实例化这个UIView子类和
    addSubview:ivar
    等将它添加到主控制器中。没有问题
然而。。。如果我想将此自定义UIView作为ViewController的属性,那么这似乎不起作用。有人能解释一下吗

以下是代码摘要:

@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];

}