目前还是菜鸟阶段,遇到问题基本都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子类化,然后在其子类中实现之前的两个方法即可。
分享到:
相关推荐
ios UI 旋转_缩放_拖拽 代码齐全,完全实现
// 形变属性:旋转、缩放、平移 @property(nonatomic) CGAffineTransform transform; // 父控件 @property(nonatomic,readonly) UIView *superview; // 所有的子控件 @property(nonatomic,readonly,copy) NSArray *...
SizeClass配合AutoLayout可以解决所有(包括iPhone及iPad)iOS设备屏幕尺寸及屏幕旋转时候的UI适配问题。直到iPhone6发布后,目前iOS设备的屏幕尺寸已经有4种了,如图:iPhone6没出现之前,还可以通过代码来适配两种...
A carousel view for SwiftUI _ SwiftUI 旋转木马效果.zip
SwiftUI 动画之Circle Animation 移动、旋转、显示、消失和放大联合动画。关键技术:1.从顶向下线性过渡LinearGradien;2. 垂直偏移.offset;3.设置透明度.opacity(0.5);4.旋转60度.rotationEffect(.degrees(60));5....
个人资料页拍照和相册小功能整理DEMO,UI仿IOS,包括了权限问题和部分手机裁剪旋转问题解决小方案。
旋转木马 SwiftUI的轮播视图 目录 要求 iOS 13.0+ / macOS 10.15+ / tvOS 13.0+ Xcode 11.0以上 迅捷5.1+ 安装 迅捷软件包管理器 打开Xcode ,转到File -> Swift Packages -> Add Package Dependency并输入...
Delphi跨平台(Win,Android,IOS)旋转式主界面设计,一种旋转式界面设计。Delphi跨平台(Win,Android,IOS)旋转式主界面设计,一种旋转式界面设计。
一、简单介绍 CAPropertyAnimation的子类 属性解析: fromValue:keyPath相应属性的初始值 toValue:keyPath相应属性的结束值 随着动画的进行,在长度为duration的持续时间内,keyPath相应属性的值从fromValue渐渐地...
SwiftUI 花瓣旋转花开花落效果动画项目含源码。 1、呼气时花从中呼出;2、制作烟雾效果,营造呼吸效果。3、绘制一朵花,包含5个花瓣。
SwiftUI HUE颜色旋转动完整项目含源码。1、设置Hue变换hueRotation;2、重复播放动画.repeatForever(autoreverses: true);3、滚轮效果.pickerStyle(WheelPickerStyle())
iOS Title 旋转切换效果,细节真棒。.zip,bmaspinninglabel是一个ui组件,它提供了在其中显示和设置文本动画的简单方法。
苹果ios开发150个实例源码大全: 一个画板,可以选择画笔的颜色 一个简单的page scroll 一个简单的rss阅读器 一个简单的分享到facebookdemo 一个简单的图片编辑器 一个简单的层管理 一个简单的空白页面demo 一个...
iOS 图像视图旋转的示例项目(为 iOS 8 和 Xcode 6.3 构建的项目) 基于的堆栈溢出问题 要检查的相关类是 。 在其中,您将找到示例应用程序 UI 的开始/停止按钮操作: - (IBAction)onButtonPress:(id)sender; 此...
用基本技术知识避免代码重复,解决复杂问题(如上传大文件到Web服务器)等。 iOS应用开发攻略内容目录 第1章 UI攻略 1 攻略1 添加基本的启动画面切换 1 攻略2 让启动画面的切换更有吸引力 7 攻略3 为定制的...
SwiftUI 齿轮与履带动画完整项目含源码。1、3D旋转rotation3DEffect;2、线性动画Animation.linear(duration: 4);3、阴影shadow(color: .black, radius: 1)
SplittableViewKit - 当设备旋转时,UITableView中的IndexPath单元格将自动移动到左视图
原本这个系统名为iPhone OS,直到2010年6月7日WWDC大会上宣布改名为iOS。截止至2011年11月,根据Canalys的数据显示,iOS已经占据了全球智能手机系统市场份额的30%,在美国的市场占有率为43%。 源码列表: 按钮类 ...
应用模糊并使用滑块调整饱和度和色相旋转 将裁剪的墙纸图像导出到照片库 :framed_picture: :framed_picture: :framed_picture: :hammer_and_wrench: 科技栈 v12.3 v5.3 v0.8.0 应用程序是使用SwiftUI和...