定位问题

时间:2010-11-26 06:49:44

标签: objective-c ipad orientation

我已创建和ipad应用程序。 我从基于窗口的应用程序开始,并添加了2个视图控制器(loginviewcontroller,detailviewcontroler)。两者都有自己的XIB'。在appdelegate applicationdidfinishlaunch方法中添加了loginviewcontroller对象,我编写了在2个视图之间来回移动的代码。这是代码。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    // Override point for customization after application launch.
    Login *mylogin = [[Loginviewcontroller alloc] init];
    [window addSubview:mylogin.view];
    //detailview *tv=[[detailviewcontroller alloc] init];
    //  [window addSubview:tv.view];
    [self.window makeKeyAndVisible];

    return YES;
}

问题是,即使我在detailviewcontroller中,willrotatetointerfaceorientation方法也只能从loginviewcontroller类运行。

如果我将门票视图添加到appdelegate,那么它会从detailviewcontroller运行willrotatetointerfaceorientation方法,因此总结一下,它仅从添加到appdelegate的对象运行willrotatetointerfaceorientation方法。

如何让2个视图控制器运行各自的willrotatetointerfaceorientation方法?

2 个答案:

答案 0 :(得分:0)

旋转消息仅发送到最顶层视图的控制器。您应该使用适当的方法手动转发它们。

答案 1 :(得分:0)

UIViewController有方法

  • (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

在两个viewcontroller类中重写此方法(即(loginviewcontroller,detailviewcontroler)

编写此代码

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {     //在旋转期间编写您想要的代码

返回是;

}