如何从子视图调用superview中的方法?

时间:2013-07-01 08:44:55

标签: iphone ios ipad

我有一个在appdelegate中初始化的视图控制器。我使用addsubview方法将viewcontroller添加到导航控制器,以便在导航栏上方显示它。现在我添加另一个viewcontrollers视图作为此视图的子视图。现在,当我按下子视图上的按钮时,我需要在superview中执行一些方法。我试过这种方式。

appdelegate.viewcontroller =(ViewController*)self.view.superview;  

    }
    if(appdelegate.viewcontroller==nil)
    {

        NSLog(@"appdelegate viewcontroller nil"); 

    }
    else
    {

    [appdelegate.viewcontroller setmessage:@""];
     }

`但它给我的错误就像

  

[UIView setmessage:]:无法识别的选择器发送到实例。任何人都可以指出我在哪里出错?

1 个答案:

答案 0 :(得分:0)

for (UIView* next = [self.view superview]; next; next = next.superview) 
    {
        UIResponder* nextResponder = [next nextResponder];
        if ([nextResponder isKindOfClass:[UIViewController class]])
        {
            [(UIViewController*)nextResponder viewWillAppear:YES];
        }
    }