使用 iOS6 在 Storyboard 中旋转 UIView

Posted

技术标签:

【中文标题】使用 iOS6 在 Storyboard 中旋转 UIView【英文标题】:Rotate UIView in Storyboard with iOS6 【发布时间】:2013-04-18 15:33:14 【问题描述】:

我有一个UILabel,我想旋转 180 度,所以文本会上下颠倒。我做了一些搜索,发现this question 涵盖了CGAffineTransformMakeRotation 的旋转。

有没有办法在我的UIStoryboard 上旋转它?标签总是会以相同的固定旋转出现,所以让它在我的故事板中以与运行时相同的方式显示会很好。我找到了this post saying it's impossible,但那是一篇相当老的帖子(我认为是前故事板)。当然,如果它没有故事板,我可以使用 CGAffineTransformMakeRotation,就像我在 viewDidLoad 中链接的另一个问题一样。

【问题讨论】:

你可以在这里查看我的答案:https://***.com/a/63050468/4036390 了解如何做到这一点 【参考方案1】:

不,没有办法做到这一点;您必须在代码中应用转换(正如您所说,viewDidLoad 是一个好地方)。

情节提要/笔尖编辑器非常好,但是您仍然可以对视图执行许多只能在代码中执行的操作,并且也适用于特定的 UIView 子类.当然,您也根本无法在情节提要/笔尖编辑器中访问视图的底层 layer;例如,您不能在情节提要/笔尖中给视图圆角。

【讨论】:

是的,这就是我害怕的。感谢您的确认。 这真的不是一件坏事。你习惯了故事板/笔尖和代码的相互作用。代码很好!事实上,我经常编写完全没有故事板/笔尖的应用程序。对于 Mac OS X,有人警告不要尝试这样做,但在 ios 上这是完全可行的。 这有点违背所见即所得的哲学。我希望能够在一个地方做所有处理界面的事情,而在另一个地方做所有处理实际功能的事情。你所说的相互作用真的把事情搞砸了,特别是如果你很长时间没有这样做并且你不“只知道”应该在哪里完成所有事情。 但是笔尖/故事板不是所见即所得。它只是一组用于实例化某些对象的指令,就像您在代码中所做的那样。这就是我的全部观点。笔尖不是某种魔法。它们是其他方式的对象实例化/初始化/配置。 对不起,一直喋喋不休!但我想再补充一件事:你的评论是我不喜欢故事板的一个例子。他们误导初学者相信一种实际上并不存在的魔法。他们实际上隐藏真正发生的事情。在我看来,使用 nib 比使用故事板更好,使用代码比使用 nib 更好,尤其是对于初学者来说,这样你的学习就真的发生了。 (这就是为什么我的书是这样组织的。)

以上是关于使用 iOS6 在 Storyboard 中旋转 UIView的主要内容,如果未能解决你的问题,请参考以下文章

ECSlidingViewController,禁用旋转iOS6

iOS5、iOS6、旋转、事件任意触发

ViewController 在 iOS6 上不旋转

Cocos2D 与 iOS6 错误旋转

使用 Storyboard 和 Autolayout 旋转到横向后,UIScrollView 中的 UIButtons 不可触摸?

应用程序仅在 iOS 6 中旋转,在 iOS 5 中不旋转