ViewController不旋转

时间:2012-09-20 23:27:00

标签: iphone xcode ipad uiviewcontroller autorotate

我一直在使用应用程序遇到问题,并获得某些视图轮换。

我已经知道标签栏控制器中的任何视图都无法旋转,除非允许所有旋转。我也知道除非允许最顶层的视图旋转,否则导航控制器中的任何视图都不能旋转。

我主要使用IB来设置我的应用程序。

MainWindow.xib我有AppDelegate ObjectWindowTabBarController,然后是单独的UIViewController

在标签栏的其中一个标签栏中,我有一个链接到UIButton的IBAction,代码如下:

-(IBAction)stuff {
[self presentViewController:buletinss animated:YES completion:nil];
}

视图控制器在头文件中声明为IBOutlet,并从该选项卡类链接到UIViewControlle r。在IB中,我然后将该视图控制器的类设置为我设置的UIViewController类,并返回YES以允许它旋转。

但是,它仍然不会旋转。

我认为,因为它不是标签栏的一部分,并且没有从导航控制器推出,所以它可以旋转,但我没有运气。请帮忙吗?

这是完整的代码:

首先,具有按钮的视图的.h和.m:

#import <UIKit/UIKit.h>

@interface BulletinViewController : UIViewController {
IBOutlet UIWebView *worship;
IBOutlet UIActivityIndicatorView *activity;
NSTimer *timer;
IBOutlet UIViewController *buletinss;

}
-(IBAction)stuff;
@property (nonatomic, retain) UIActivityIndicatorView *activity;

@end

和.m

#import "BulletinViewController.h"

@implementation BulletinViewController

-(IBAction)stuff {

[self presentViewController:buletinss animated:YES completion:nil];
}

现在正在呈现的视图的.h和.m

#import <UIKit/UIKit.h>

@interface TestBulletinViewController : UIViewController

@end

和.m

#import "TestBulletinViewController.h"

@implementation TestBulletinViewController


-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation         {
return YES;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

@end

1 个答案:

答案 0 :(得分:1)

如果没有看到你的项目,很难知道发生了什么。你做的很奇怪:为什么要从笔尖加载视图控制器?你在说:

IBOutlet UIViewController *buletinss;

为什么呢?你为什么没有明确地实例化BulletinViewController并将ivar设置为那个?

我打赌问题是在nib中,这个对象是而不是一个BulletinViewController。它可能只是一个通用的UIViewController。因此,您的BulletinViewController代码无关紧要;它都没有运行过。相反,你有一个只能旋转到肖像的通用UIViewController。但这只是猜测。