gpt4 book ai didi

ios - 我无法获得此 UIView 回合

转载 作者:行者123 更新时间:2023-11-29 00:22:29 36 4
gpt4 key购买 nike

这是下面代码的最终结果:

enter image description here

这是我的代码:

view.layer.cornerRadius = 0.5 * view.bounds.size.width
view.layer.masksToBounds = true
view.clipsToBounds = true

view 是红色的 UIView。这段代码放在viewWillLayoutSubviews和viewDidLayoutSubviews中(不在一起,但我都测试过)。

除此之外,SO 不清楚使用 masksToBounds 或 clipsToBounds。我不确定使用什么以及何时使用上面的其中之一。我也分开测试过。

绿色的 UIView 也有 ClipsToBounds 事件角和圆角,但是如果我将它们都删除,我仍然会得到相同的效果......我希望有人可以提供帮助。 只有当我将一个 UIView 放在另一个 UIView 中时才会发生这种情况。如果 UIView 没有父级,它就可以工作(我将 UIView 舍入)。

编辑:GitHub 链接:https://github.com/Jasperav/tests

最佳答案

问题在于自动布局引擎何时真正完成所有布局计算。

如果将代码移动到 viewDidAppear,您将看到正确的“圆角”。

不过,这是使用自定义 View 的一种非常常见的情况。事实上,它很容易用作“IBDesignable”类,因此您可以在 Interface Builder 中看到它的呈现。

使用以下代码创建一个名为“RoundedView.swift”的新文件:

import UIKit

@IBDesignable
class RoundView: UIView {
override func layoutSubviews() {
super.layoutSubviews()
self.layer.cornerRadius = 0.5 * self.bounds.size.height
}
}

然后将该类分配给您想要圆形的 View 。 Xcode 将构建您的新类,它会像这样显示在 Interface Builder 中:

enter image description here

关于ios - 我无法获得此 UIView 回合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43968511/

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