我有一些代码可以实例化很多东西。此代码需要添加到视图中。因此,我需要能够使用视图参数调用函数,然后将我的代码设置为方法体中的该视图。
我有什么选择呢?我读过你可以使用代表吗?但不确定如何。
答案 0 :(得分:5)
- (void) aMethodWithView:(UIView *)theView{
theView.setSomething = somethong;
}
答案 1 :(得分:2)
如果您想将UIView
作为子视图添加到另一个视图,请执行以下操作:[view addSubview:subview]
。如果要创建一个获取视图的方法,可以将其写为:
- (void)nameOfMethodThatYouWantToSendTheViewTo:(UIView *)view {
//do seomthing with the view
}
答案 2 :(得分:1)
所以,如果我理解正确的话,你想要创建一个视图并传递一些参数来初始化视图。
我认为您可以在视图控制器中创建自定义-initWithNibName(),如果必须在显示视图之前完成。所以它看起来像
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil withParametherA: (ClassA *)a andParameterB: (ClassB *)b andParameterC: (ClassC *)c
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
// Use value of a, b, c to do something
}
return self;
}
如果你想在不同的视图控制器之间传递值,请说你想要参数的视图是B,然后从A填充它。然后在B的控制器类中,你可以使你喜欢的字段成为属性,然后在A中,您可以创建B的控制器类,设置属性,然后填充视图。
如果你想使用委托,你可以设置A作为B的委托,所以在B中,你可以发送一条消息来获取你喜欢的参数值-ViewDidLoad()或你想要的任何方法。
希望这有帮助。