我想触发UIView刷新setNeedsDisplay
(有效),但也会再次触发SubView中的代码,但我无法在任何地方找到它。我试图查看setNeedsDisplay
是否触发了任何视图控制器方法,但没有。{/ p>
知道如何在Container View GUI元素中实际触发实例化UIView的方法吗?
答案 0 :(得分:1)
以下是3个选项:
<强> 1。使用segue就像将数据从一个VC传递到另一个VC
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Make sure your segue name in storyboard is the same as this line
if ([[segue identifier] isEqualToString:@"YOUR_SEGUE_NAME_HERE"])
{
// Get reference to the destination view controller
YourViewController *vc = [segue destinationViewController];
// Pass any objects to the view controller here, like...
[vc setMyObjectHere:object];
}
}
<强> 2。您可以使用NSNotificationCenter
发布“产品”按钮的操作方法:
[[NSNotificationCenter defaultCenter] postNotification:@"yourString" object:nil];
然后在主视图(目录视图控制器)中添加一个侦听器:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(someMethod:) name:@"yourString" object:nil];
然后在someMethod的实现中触发操作
第3。在目录VC中,您可以使用self.childViewControllers.lastObject(假设您只有一个子节点,否则使用objectAtIndex :)来引用其属性。
ProductDetailController *vc = (ProductDetailController *)self.childViewControllers.lastObject;