我的应用仅适用于iphone
设备(iphone 4和5),并且仅支持ios 6
。
我的整个应用仅支持portrait
模式。但是有一个名为“ ChatView
”的视图,我想同时支持landscape
和portrait
模式。
我已将所需的设备旋转设置如下:
我还尝试了以下代码来支持“ ChatView”中的旋转-
-(BOOL)shouldAutorotate
{
return YES;
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscape;
}
但是它无法旋转该视图。
我为此进行了很多搜索,但找不到我的问题的解决方案。
而且在“ ChatView”中还有一些对象,例如按钮,文本字段,其框架是通过编程方式设置的。所以我想知道是否也必须为横向模式设置所有这些对象的框架?
请帮我。
谢谢.....
我想如果您只想支持一个viewcontroller旋转,那是不可能的,因为应用程序将遵循您在.plist
文件中设置的方向。您可以采用的替代方法是同时支持横向和纵向应用,将除聊天视图以外的所有ViewController旋转冻结为纵向。
编辑
要进行子类化UINavigationController
,请创建一个名称为eg的新文件,CustomNavigationController
并将其设为子类UINavigationController
。
.h文件
#import <UIKit/UIKit.h>
@interface CustomNavigationController : UINavigationController
@end
.m文件
#import "CustomNavigationController.h"
@interface CustomNavigationController ()
@end
@implementation CustomNavigationController
-(BOOL)shouldAutorotate
{
return NO;
}
-(UIInterfaceOrientationMask)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAll;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return UIInterfaceOrientationIsPortrait(interfaceOrientation);
}
@end
将UINavigationController
您的主班级xib中的班级设置为CustomNavigationController
。希望对你有帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句