从另一个对象内部向视图添加子视图

时间:2013-11-27 09:24:15

标签: ios objective-c

我在appDelegate中定义了这两个属性:

@property (nonatomic, strong) UIView * mainView;
@property (nonatomic, strong) MyCustomClass * customObj

mainView内的代码向customObj添加子视图的最佳方法是什么?

我没有提供任何示例代码,因为(a)我的代码很糟糕,(b)我只是想了解这样做的最佳方法,所以我将来可以从中学习,而不是有一个解决方案一个具体的问题。

非常感谢。

2 个答案:

答案 0 :(得分:2)

那么,如何在MyCustomClass中创建一个方法:

-(void)addSubViewToView:(UIView *)view
{
    [view addSubview:otherView];
}

然后像这样称呼它:

[customObj addSubViewToView:mainView];

答案 1 :(得分:1)

这取决于MyCustomClass是什么类。它是否负责构建mainView的视图层次结构?然后我将mainView的引用注入customObj,如下所示:

customObj = [[MyCustomClass alloc] initWithView:mainView];

在这种情况下,customObj将是某种构建器对象,它在mainView中创建视图层次结构。然后我将在MyCustomClass中使用addSubView:selector:

-(id)initWithView:(UIView*)view{
    if(self = [super init]){
        [view addSubView: ...];
        [view addSubView: ...];
        [view addSubView: ...];
    }
}
相关问题