我在appDelegate中定义了这两个属性:
@property (nonatomic, strong) UIView * mainView;
@property (nonatomic, strong) MyCustomClass * customObj
从mainView
内的代码向customObj
添加子视图的最佳方法是什么?
我没有提供任何示例代码,因为(a)我的代码很糟糕,(b)我只是想了解这样做的最佳方法,所以我将来可以从中学习,而不是有一个解决方案一个具体的问题。
非常感谢。
答案 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: ...];
}
}