gpt4 book ai didi

cocoa - UIView 和方向更改 : UITextField Preservation and UI frame custom animations

转载 作者:行者123 更新时间:2023-12-03 17:00:07 26 4
gpt4 key购买 nike

在没有开发人员交互的情况下,您可以让 View 调整自身大小以支持方向,在许多情况下这很好,但如果您需要更改 UI 对象的布局以更好地适应新方向怎么办?

Apples answer是:

  • 有两个独立的 ViewController,其中 xib 反射(reflect)了所需的布局。
  • 指定一个主ViewController,(推荐纵向)。
  • 订阅beginGenerateDeviceOrientationNotifications
  • 在通知事件方法(主方法)中,检查方向并将从属 ViewController 作为模式推送或弹出。

从表面上看,如果布局包含多个 UITextField,则更改方向会清除字段(从用户的角度来看),这表明通知事件方法中还需要字段复制方法。 除非有自动规定? (或替代模式)

但是如果您想要一些漂亮的短延迟 UI 帧翻译动画怎么办?

或者,我没有使用两个 View Controller ,而是使用 CGAffineTransforms 来动画 UI 对象框架更改(在 willRotateToInterfaceOrientation 上触发),并具有看起来性感的额外好处,但是代码看起来不太优雅。

我不知道任何其他解决方案。

开门见山:在方向事件上更改 UI 对象布局最有效、最快的方法是什么,最好有利于帧平移动画?

最佳答案

最有效的方法是用代码进行布局。缺点是你必须编写丑陋的代码并避免 IB。结果是弹性和性能。我在 View Controller 中编写了一个方法,该方法接受 UIInterfaceOrientation 作为参数并相应地布置其 View 。然后我从 -willAnimateRotationToInterfaceOrientation:duration: 调用此方法。当然,代码非常丑陋,但是速度很快。基本上,我只是在那里设置了一堆框架属性。

关于cocoa - UIView 和方向更改 : UITextField Preservation and UI frame custom animations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3290287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com