使用 StackView 实现魔术般的视图旋转适配
上周,我参加了 iOSDevCampDC 并发表了演讲,在这里很荣幸的听到了 @atomicbird 关于 StackViews 的演讲。我之前写过一篇文章,向大家介绍了使用 StackViews 来做简易动画的有多方便,更被使用 StackViews 能够非常简单地完成横竖屏的切换所震惊。 例如,下面这个简单的有着一张图片和一些文本的视图。它在竖屏下看起来挺好的,但是一旦屏幕旋转了,就不那么好看了... 可是呢,仅仅改为在Storyboard中使用一个简单的 步骤第一个步骤是一个垂直排列的 StackView,里面放一个
奇诡一招这里的关键就是当屏幕方向从竖屏变为横屏的时候,我们需要同时把 为了实际看看这个过程,我推荐在 Storyboard 中改变到水平方向模式(超爱 Xcode8 的这个表单)。
注意到 Xcode 8 的 Storyboard 中告诉你在水平方向上高度被压缩了这点十分便利。因为这点爱死 Xcode 8 了。 这招就是在高度为紧凑 (Compact) 的时候把
现在选择 Any Width -> Compact Height -> Any Gamut:
这里的关键当然是紧凑高度。现在你可以在紧凑高度模式下 (Compact Height mode) 改变
这样就完成了!你可以立刻看到在 Storyboard 中改变方向的后的效果,甚至都不用运行这个应用。
有一个值得注意的是,在 Storyboard 中有一个 bug -- 在你改变屏幕方向的时候,可能会出现一个关于你的布局的警告。要解决这个警告,只要在变化前后的 结论我没有在为屏幕旋转方向适配布局这方面研究太多,所以这个技巧绝对是一个值得记住的好东西。手动的为不同的压缩尺寸改变 AutoLayout 属性听起来就不让人开心,特别是产品经理叫你多加“就一个小小的东西啦”进去的时候...再次感谢 @atomicbird 和我们分享这个小但是超有用的小技巧。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 巧用AJAX技术,通过updatePanel控件实现局部刷新
- React native真机调试
- 1.Cocos2dx 3.2中vector,ValueMap,Touch触摸时间的使用.ico
- oracle11g – Oracle 11 – sqlplus – 回滚整个脚本的错误
- fastjson的@JSONField注解
- 混淆jar包 作为依赖工程 打包混淆出错 Unknown verificatio
- C#中嵌入SQLite数据库的简单方法
- WPF内存分配使用绑定,inotifypropertychanged和依赖属性跳跃
- oracle中的rownum、order by与分页
- C/C++程序开发中实现信息隐藏的三种类型