我有一些主要的viewController,我想为它添加一个子视图,作为一个子视图,它也是一个viewController。
我的方法是,当你完成对该子视图的编辑时,他会告诉主视图对委托做一些事情。
这种方法可以创建许多子视图作为viewcontrollers
添加到主视图中,并在发生事件时通过委托通知他,这是一种很好的方法吗?
为什么我可以在子视图中添加委托监听器?我在子视图中创建了协议,主视图是添加子视图,需要订阅其委托,所以:
UIViewController *search = [[SearchView alloc]init]; //my subview that post delegate //[search delete:self]; //can't add delegate here, [self addChildViewController:search]; // search.view.frame = CGRectMake(0, 0, 0, 550); [self.view addSubview:search.view]; [search didMoveToParentViewController:self];
答案 0 :(得分:0)
UIViewController中没有委托属性,但您调用
[search delete:self];
在此对象上,而不是在SearchView对象上。如果您在SearchView上添加了委托属性,则需要将声明更改为:
SearchView *search = [[SearchView alloc]init];
另一件事是你在SearchView.h文件中添加了委托,如:
@property(assign)YOURDEL代表; 你应该致电:
[search setDelete:self];
而不是:
[search delete:self];
答案 1 :(得分:0)
试试这个
SearchView *search = [[SearchView alloc]init]; //my subview that post delegate
[search setDelegate:self]; // or search.delegate = self;
此外,您还需要为子视图中的操作创建协议及其所需的方法。不要忘记在主视图界面中添加委托。
希望这可能会解决您的问题