T819C屏幕苹果ipad横屏不好使了,调不回来,旋转也打开了,不好使,怎么弄啊?

4129人阅读
1、不要直接在UIWindow里面直接使用UIView,而是加载根试图控制器(UIViewController)然后使用控制器改变UIView,这也是Apple官方推荐的方式
beginAppearanceTransition:YES
animated:NO];
& & [parentViewController addChildViewController:self];
& & [parentViewController.view
addSubview:self.view];
didMoveToParentViewController:self];
endAppearanceTransition];
<span style="color:#、
在横屏应用中,使用keyWindow添加一个视图,切换设备横屏方向,发现添加的视图不会随着变化方向。
并且只有Window的RootViewController可以监听到屏幕旋转变化。
[[UIApplicationsharedApplication].keyWindow addSubview:view];
解决方法如下:
定义RotateWindow继承UIWindow,并重写addSubview方法。AppDelegate中的window使用RotateWindow。
#define degreesToRadian(x) (M_PI * (x) / 180.0)
- (void)addSubview:(UIView *)view {
if ([self.subviews count] &= 1) {
float angle = ([UIDevice currentDevice].orientation == UIDeviceOrientationLandscapeLeft)?90:-90;
view.transform = CGAffineTransformMakeRotation(degreesToRadian(angle));
view.frame = CGRectOffset(self.frame, 0, 0);
[super addSubview:view];
定义RotateViewController作为window的RootViewController,并重写以下方法
// 仅允许横屏
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations.
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight);
// 设备旋转时修改添加视图方向
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
UIWindow *window = [UIApplication sharedApplication].keyW
int i = 0;
for (UIView *view in window.subviews) {
if (i != 0) {
CGAffineTransform transform = view.
transform = CGAffineTransformRotate(transform,
degreesToRadian(180));
view.transform =
i&#43;&#43;;
-(void)rotateView&{&UIWindow *keywindow = [[UIApplication sharedApplication] keyWindow];&UIView *bgView = [[UIView alloc] initWithFrame:keywindow.bounds];&[keyWindow addSubview:bgView];&[bgView release];&[bgView addSubview:_overlayView];&[bgView addSubview:self];&self.center = CGPointMake(keywindow.bounds.size.width/2.0f,&keywindow.bounds.size.height/2.0f);&// Rotate the image by the specific angle.&[bgView setTransform:CGAffineTransformMakeRotation(angle)];&[self fadeIn];&}&
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:667770次
积分:6126
积分:6126
排名:第3203名
原创:38篇
转载:276篇
评论:35条
(2)(3)(5)(6)(14)(2)(3)(2)(2)(1)(1)(9)(1)(8)(21)(15)(6)(3)(2)(10)(5)(6)(6)(3)(3)(6)(3)(6)(16)(7)(12)(5)(1)(1)(3)(3)(6)(5)(1)(1)(11)(4)(5)(2)(5)(3)(11)(10)(4)(1)(10)(19)(6)(1)(2)(1)(2)(1)}

我要回帖

更多关于 android 横屏旋转180 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信