【问题标题】:CGAffineTransformation not rendering on view did load未在视图上渲染的 CGAffineTransformation 确实加载了
【发布时间】:2015-01-16 16:10:54
【问题描述】:

我编写这个类是为了创建一个动态大小的(有点像 SVG,但在 Swift 中)徽标(作为 UIView 子类)。如果我将它添加到 View Did Appear 中的 View Controller 的视图的子视图中,它会完美运行......但如果我将它添加到 View did 加载中,它将无法正常工作。这是一个我无法弄清楚的非常奇怪的问题。

编辑:问题仅在我进行转换时出现,如果我不进行转换,4 个子视图显示正常,但是当我尝试旋转它们时,它们在 View Did Load 中实现时一起消失。而眼前的改造作品也确实出现了。

Here 是我写的类的 pastebin。

【问题讨论】:

    标签: swift uiview cgaffinetransform viewdidload viewdidappear


    【解决方案1】:

    我认为问题在于在 viewDidLoad 方法中,视图是不可见的,并且那时对任何东西进行动画处理是没有意义的(被禁止?)。但是当 viewDidAppear 被调用时,这些视图是可见的,并且您可以从中制作动画。

    【讨论】:

    • 感谢您的回复 - 如果您尝试将其转换为早期它会完全消失,这对我来说似乎是一种奇怪的行为,但我想我会尝试进行更多研究。问题是我不想初始化并在视图上添加这个视图确实出现了,因为那效率低下 - 它会比必要的更频繁地发生。如果确实出现了诸如 parentviewcontroller 之类的方法,我想我可以将转换放在那里
    • 检查这个答案:stackoverflow.com/questions/19033942/… 我理解你的问题,你可以在 viewDidLoad 中添加你的视图,但有延迟,或者在 viewDidAppear 中但有一个标志,表明它是否已经添加。但是还有很多方法。
    猜你喜欢
    • 2019-01-14
    • 2012-06-30
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    • 2018-01-08
    • 2020-09-10
    • 2015-06-30
    • 2012-11-28
    相关资源
    最近更新 更多