`
woniu1983
  • 浏览: 167766 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

iOS6 UI 旋转问题

    博客分类:
  • iOS
阅读更多
目前还是菜鸟阶段,遇到问题基本都google

目前在做一个iOS项目,要求UI界面适应旋转,
iOS要求 5.1以上

参考官方文档:
https://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/RespondingtoDeviceOrientationChanges/RespondingtoDeviceOrientationChanges.html

--------------------------------------------------------------------
iOS 5.1
在iOS 5.1上支持UI随设备旋转,基本就是实现下面的方法

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
	return YES;
}


--------------------------------------------------------------------

iOS 6.0+
在iOS 6上支持UI随设备旋转的方法在网上查了查多数是说要实现另外两个方法(如下)。
- (NSUInteger)supportedInterfaceOrientations

- (BOOL)shouldAutorotate


但是我的代码原本是4.0以前build的工程,我将deployment target设置为5.1, 打算支持iOS5.1以上的设备, 于是在ViewController里面实现了上面两个方法,模拟器测试,均无任何反应。网上google了半天,也顺带磨了半天官方文档,简单解决方案如下:

1. 工程的TARGETS的Summary里面设置下: Supported Interface Orientations

2.  修改附加view的方式
     一般情况下,以前的工程有一个MainWindow.xib文件,这个文件中会指定window,rootviewController, Delegate等等,那么在工程的***Delegate.m中应该会将view附加到window中,那马iOS4.0以前的做法是这样的
[self.window addSubview:navController.view];


这种做法的话,在iOS6设备中,即便你实现了上面的两个方法也无法支持旋转的。
我们可以修改为如下:
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 4.0) {
        // for iOS6.x Rotate
        self.window.rootViewController = navController;
    } else {
        [self.window addSubview:navController.view];
    }


以上两步完成之后(不需要实现那两个方法),在iPhone模拟器中试试看,可以看出Portrait,LeftLandscape, RightLandscape已经可以了,至于PortraitUpDown不行是因为iPhone中UIViewController自己默认只支持前面3种旋转(这个大家都知道)


----------
如果想要支持PortraitUpDown,此时就需要将上面的navController子类化,然后在其子类中实现之前的两个方法即可。
0
0
分享到:
评论

相关推荐

    ios UI 旋转_缩放_拖拽

    总结,iOS中的UI旋转、缩放和拖拽功能为开发者提供了丰富的交互设计可能性。通过合理使用手势识别器和视图控制器的方法,我们可以创建出高度响应用户操作的界面,提升应用的可用性和趣味性。在实际项目中,还需要...

    ios 360度旋转效果demo

    它通过使用`UIImageView`这一UI组件,来实现图片的动态旋转效果。关键代码位于`FVImageSequence.m`文件中,该文件是实现旋转功能的核心部分。 在iOS开发中,`UIImageView`是苹果提供的一个视图类,主要用于显示静态...

    ios-屏幕旋转demo.zip

    首先,iOS系统默认提供了自动屏幕旋转功能,它会根据设备的实际物理方向来改变UI的布局。这一功能由UIKit框架中的`UIDevice`类提供,其`orientation`属性反映了设备当前的方向。然而,开发者有时需要对屏幕旋转进行...

    iOS系统UI风格片头动画ppt模板.rar

    6. **字体选择**:iOS系统通常使用San Francisco字体,这是一种无衬线字体,易于阅读且具有现代感。模板中的文本应采用类似字体,以保持一致的视觉风格。 7. **触摸交互**:虽然在PPT中无法实现实际的触摸交互,但...

    swift-一个轻量级的iOS3D线性旋转视差效果

    "swift-一个轻量级的iOS 3D线性旋转视差效果" 提供了一种创新的、利用Swift编程语言实现的方法,为用户界面增加了深度感和动态效果。这种3D线性旋转视差效果通常用于滚动视图,如轮播图或列表,当用户滚动时,元素以...

    iOS端单个手指旋转视图

    在iOS开发中,实现单个手指旋转视图的效果,通常涉及到手势识别(Gesture Recognizer)以及视图的变换(Transform)操作。这个功能允许用户通过单指拖动、旋转、平移和缩放来交互式地操作视图,极大地提升了用户体验...

    ios-collection实现旋转效果.zip

    在这个“ios-collection实现旋转效果.zip”压缩包中,开发者提供了一个使用Swift编写的示例项目,名为"Swift-revolvecollection-test",它展示了如何在点击后使UICollectionView的单元格实现旋转效果,这在创建动态...

    ios-弹出旋转菜单,类似建行客户端旋转菜单的简单demo.zip

    在iOS开发中,创建一个类似建设银行客户端的旋转弹出菜单是一种常见的交互设计,它可以提供用户友好的体验,尤其在移动设备上。本项目“ios-弹出旋转菜单,类似建行客户端旋转菜单的简单demo”就是针对这种需求的一...

    IOS7呈现IOS6水滴刷新效果修正版本

    "IOS7呈现IOS6水滴刷新效果修正版本"这个项目聚焦于为iOS应用添加一个独特的刷新指示器,模仿了iOS 6中的水滴下落动画效果,并针对iOS 7及64位设备进行了优化。这种视觉反馈设计旨在提升用户体验,让用户在下拉刷新...

    UIButton,UILabel文字旋转(倾斜)

    在iOS开发中,经常需要对UI元素进行个性化定制,其中包括对文字的展示方式。本教程将深入探讨如何实现UIButton和UILabel的文字旋转(倾斜)效果,让应用界面更具吸引力和独特性。 首先,我们要理解旋转(倾斜)的...

    iOS-UI控件常见属性总结

    在iOS开发中,UI界面的构建离不开各种控件的使用,这些控件有着丰富的属性,可以帮助开发者实现各种功能。以下是对一些常见UI控件属性的总结: 1. UIView: - `isUserInteractionEnabled`:这个属性决定了控件是否...

    A carousel view for SwiftUI _ SwiftUI 旋转木马效果.zip

    SwiftUI 是苹果为 iOS、macOS、watchOS 和 tvOS 平台推出的一种声明式用户界面框架,它简化了创建美观、动态用户界面的过程。在本压缩包中,"A carousel view for SwiftUI _ SwiftUI 旋转木马效果.zip" 提供了一个...

    IOS应用源码之可以拖动图片,并可以进行图片旋转的demo .rar

    总之,这个“可以拖动图片,并可以进行图片旋转的demo”涵盖了iOS应用开发中的基本手势识别和图像处理技术,对于想要提升用户体验或深入学习iOS UI交互的开发者来说,是一份宝贵的参考资料。通过研究和实践这个示例...

    iOS 弹幕UI类

    在iOS开发中,弹幕UI类是一种用于实现类似电视节目中滚动文字效果的用户界面组件。这类组件常用于视频播放、直播应用或者互动展示等场景,为用户提供一种动态、实时的信息展示方式。本知识点将深入探讨如何创建和...

    ios设备旋转走的代理(代码附加输出口集合)

    在iOS开发中,设备旋转是常见的用户交互场景,涉及到用户界面(UI)的动态调整以适应不同的屏幕方向。本文将深入探讨iOS设备旋转时走的代理机制,以及如何通过代码来处理这一过程。 首先,我们要了解iOS中的Auto ...

    swift-HueKit是一个iOS的UI框架为构建拾色器提供组件和工具

    **Swift-HueKit:iOS UI框架,打造出色的颜色选择体验** Swift-HueKit是一个专为iOS平台设计的UI框架,其主要目标是为开发者提供一套完整的组件和工具,用于构建功能丰富的颜色选择器。在iOS应用开发中,颜色选择器...

    IOS屏保动画效果

    这涉及到对用户界面(UI)设计的深入理解,以及对iOS系统动画框架的熟悉。让我们深入探讨如何实现这样的动画效果。 首先,我们需要了解iOS中的动画基础。苹果提供了Core Animation框架,它是iOS和macOS系统中用于创建...

    IOS屏幕旋转.zip

    总的来说,这个压缩包提供的解决方案展示了如何在不依赖私有API的前提下,灵活地处理iOS应用中的屏幕旋转问题。通过创建并管理多个UIViewController实例,开发者可以确保在App的不同部分提供正确的屏幕方向支持,...

    swift-iOS10UIKit非官方的iOSUI10套装

    这个"swift-iOS10UIKit非官方的iOS UI10套装"很可能是一个第三方开发者编写的资源集合,包含了一些用Swift实现的iOS 10 UI元素和组件。 Swift的UIKit框架是构建iOS应用的基础,它包括了用于构建用户界面的所有类和...

Global site tag (gtag.js) - Google Analytics