我已创建和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方法?
答案 0 :(得分:0)
旋转消息仅发送到最顶层视图的控制器。您应该使用适当的方法手动转发它们。
答案 1 :(得分:0)
UIViewController有方法
在两个viewcontroller类中重写此方法(即(loginviewcontroller,detailviewcontroler)
编写此代码
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { //在旋转期间编写您想要的代码
返回是;
}