有没有办法在 SwiftUI 堆栈视图 ( HStack/ VStack) 中指定多个对齐参考线?
我确实有如下基本视图设置
HStack {
VStack { ... }
VStack { ... }
VStack { ... }
VStack { ... }
VStack { ... }
}
Run Code Online (Sandbox Code Playgroud)
在这里面VStack我确实有不同字体大小的文本。
正如您在屏幕截图中看到的,我能够Text对齐VStack. 我使用基本.alignmentGuide功能做到了这一点。
然而,系统似乎对整体应用“偏移” VStack,而不仅仅是视图Text。
是否有可能:
Text?(我可以想象这是不可能的,因为它可能会破坏其他布局示例代码:
extension VerticalAlignment {
/// A custom alignment for image titles.
private struct TimeTextAlignment: AlignmentID {
static func defaultValue(in context: ViewDimensions) -> CGFloat {
// Default …Run Code Online (Sandbox Code Playgroud) 我偶然发现了ButtonSwiftUI 中 s 与自定义ButtonStyle.
我的目标是创建一个ButtonStyle带有某种“后推动画”的自定义。我为此使用了以下设置:
struct CustomButton<Content: View>: View {
private let content: () -> Content
init(content: @escaping () -> Content) {
self.content = content
}
var body: some View {
VStack {
Button(action: { ... }) {
content()
}
.buttonStyle(PushBackButtonStyle(pushBackScale: 0.9))
}
}
}
private struct PushBackButtonStyle: ButtonStyle {
let pushBackScale: CGFloat
func makeBody(configuration: Self.Configuration) -> some View {
configuration
.label
.scaleEffect(configuration.isPressed ? pushBackScale : 1.0)
}
}
// Preview
struct Playground_Previews: PreviewProvider …Run Code Online (Sandbox Code Playgroud)