Widget作成メモ(5)ーMediumビューの編集
こんにちは。川上です。
Widgetは、
・ systemSmall
・ systemMedium
・ systemLarge
の表示窓になります。
My的のホーム画面にくっつける多くのWidget窓に使っているサイズは、systemSmall、systemMediumです。
ので、systemMediumで表示処理で始めました。
まだ、systemMediumの表示面の壁造りだけで、な〜んもしてないですが・・。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | // MARK: +++ Widget窓の作成 struct MinyCLock_WidgetEntryView : View { @Environment(\.widgetFamily) var family: WidgetFamily// Widget familyをサポートする var entry: Provider.Entry var body: some View { // サイズごとにViewを指定する実装 switch family { case .systemSmall: // ・ ・ 省略 case .systemMedium: ZStack { Color.black.edgesIgnoringSafeArea(.all) Image(uiImage:UIImage(named: "miny_small_1.png")!) .offset( x: 100) // mm/dd(ww) Text(entry.myDayString) .offset( x:-100,y: -60) .font(.title) .foregroundColor(.white) Text(" ココに、表示の予定だよ ✌️") .frame(width: 200, height: 100, alignment: .leading) // 枠線を描画 .border(Color.white,width: 2) .offset(x:-65, y: 20) .font(.system(size: 15)) .foregroundColor(.yellow) .lineLimit(5) Text(" 今日明日の予定") .background(Color.black) .frame(width: 150, height: 30, alignment: .leading) .offset(x:-65, y: -30) .font(.system(size: 15)) .foregroundColor(.white) .lineLimit(5) } case .systemLarge: // ・ ・ 省略 @unknown default: fatalError() } } } // NonWidgetEntryView_1 |
で、
Text(” ココに、表示の予定だよ ✌️”)
に、カレンダー予約イベントの表示処理を、書いていくのでした。。。
〜・ー・ー・
ー SwiftUIレイアウトーコツツボハマくり( ..)φメモメモー
●Stack View
VStack ・・・ 縦に配置する
HStack ・・・ 横に配置する
ZStack ・・・ 重ねて配置する
●ビューの外観や振る舞いを指定するモディファイアの順序
.frame
.offset
.background
.foregroundColor
・・・・・
使い順序で表示面が、結構、変わりますw
ではでは。。。