Avatar
Kishikawa Katsumi 4/5/2021 6:10 PM
前あったのはこういうケースでした。 if widgetFamily == WidgetFamily.systemSmall { Link(destination: Self.endpoint(APIKey: entry.configuration.APIKey, deviceID: entry.configuration.deviceID )) { Label("", systemImage: "lock.fill") .frame(minWidth: 0, maxWidth: .infinity) .font(.headline) .padding(.trailing, -8) .padding(.all, 16) .background(Color.gray.opacity(0.2)) .clipShape(Capsule()) .offset(CGSize(width: 0, height: 6)) } } else { Link(destination: Self.endpoint(APIKey: entry.configuration.APIKey, deviceID: entry.configuration.deviceID) { Label("Unlock", systemImage: "lock.open.fill") .frame(minWidth: 0, maxWidth: .infinity) .font(.headline) .padding(.all, 16) .padding(.all, 0) .background(Color.gray.opacity(0.2)) .clipShape(Capsule()) .offset(CGSize(width: 0, height: 6)) } }
6:11 PM
SwiftUIは意外とModifierチェーンの順序も影響するから途中だけ違うっていうのが難しいんすよね。順序が影響しなかったら共通部分だけ変数に入れてそこからModifierを分岐ってするのがいいと思うけど。
6:12 PM
まあこの例はもしかしたら順序関係なくいける気もする (edited)