Ios 当superview也获取角半径时,子视图的SwiftUI角半径将更改
我在为视图设置正确的角半径时遇到问题。假设我有这样的观点:Ios 当superview也获取角半径时,子视图的SwiftUI角半径将更改,ios,swift,swiftui,Ios,Swift,Swiftui,我在为视图设置正确的角半径时遇到问题。假设我有这样的观点: HStack { Text("Hello").padding().background(Color.red).cornerRadius(.infinity) } 看起来是这样的: 正如您所看到的,这些角非常圆,这是所需的效果。 问题是,当我向superview(在本例中为HStack)添加拐角半径时,我的子视图的拐角半径开始超出使拐角完全圆的边界: HStack { Text("Hello").padding
HStack {
Text("Hello").padding().background(Color.red).cornerRadius(.infinity)
}
看起来是这样的:
正如您所看到的,这些角非常圆,这是所需的效果。
问题是,当我向superview(在本例中为HStack
)添加拐角半径时,我的子视图的拐角半径开始超出使拐角完全圆的边界:
HStack {
Text("Hello").padding().background(Color.red).cornerRadius(.infinity)
}.cornerRadius(16)
问题是,如何确保子视图的角半径与第一幅图像中的一样保持完美?结果证明,我必须将视图包装在合成组中才能使其工作 此处的工作示例:
HStack {
Text("Hello")
.padding()
.background(Color.red)
.cornerRadius(.infinity)
.compositingGroup()
}.cornerRadius(16)
第二个图像结果的代码是什么?@SimonePistecchia与上面相同,但在HStack上有一个圆角半径,我编辑了这个问题以展示完整的示例。我不知道为什么你只使用一个元素将HStack四舍五入,但如果你在文本前后添加空格(),HStack不侵蚀红色按钮我提供的示例经过简化以关注问题。不过,在前后添加
Spacer()。