本書は SwiftUI のサンプルを集めたカタログ本です。基本コンポーネントの見本とそれらを組み 合わせて作成した UI サンプルを収録しています。
本書で紹介しているコンポーネント、UI サンプルを集めたカタログアプリは以下から入手できますので、是非お手元で動かしてみてください。
https://github.com/usayuki/SwiftUICatalog
SwiftUI を扱う際に手元に置いてもらえる書になれば幸いです。
本書に記載された内容は、情報の提供のみを目的としています。
したがって、本書を用いた開発・製作・運用は、必ず自身の責任と判断によって行ってください。
これらの情報による開発・製作・運用の結果について、著者はいかなる責任も負いません。
なお、本書記載の情報は、2019 年 9 月 8 日現在のものを掲載していますので、ご利用時には変更されている場合もあります。
はじめに
Swift UI リファレンス
基本コンポーネント
Swift UI リファレンスUI
UIサンプル
1 行以上の読み取り専用のテキストを表示する
func bold() -> Text
func italic() -> Text
func fontWeight(Font.Weight?) -> Text
func kerning(CGFloat) -> Text
func underline(Bool, color: Color?) -> Text
func strikethrough(Bool, color: Color?) -> Text
func lineSpacing(CGFloat) -> View
func foregroundColor(Color?) -> View
struct TextView: View { var body: some View { Text(" 平文 ") Text(" 太字 ").bold() Text(" 斜体 ").italic() Text(" 文字の太さ black").fontWeight(.black) Text(" 文字の太さ bold").fontWeight(.bold) Text(" 文字の太さ heavy").fontWeight(.heavy) Text(" 文字の太さ light").fontWeight(.light) Text(" 文字の太さ regular").fontWeight(.regular) Text(" 文字の太さ semibold").fontWeight(.semibold) Text(" 文字の太さ thin").fontWeight(.thin) Text(" 文字の太さ ultraLight").fontWeight(.ultraLight) Text(" 文字間隔 ").kerning(3) Text(" 下線 ").underline() Text(" 色付き下線 ").underline(true, color: .red) Text(" 取り消し線 ").strikethrough() Text(" 色付き取り消し線 ").strikethrough(true, color: .red) Text(" 行間隔 ").lineLimit(5).lineSpacing(10) Text(" 文字色 ").foregroundColor(.red) } }
編集可能なテキストインターフェースを表示する
struct PlainTextFieldStyle
struct RoundedBorderTextFieldStyle
func textFieldStyle<S>(_ style: S) -> some View where S : TextFieldStyle
struct TextFieldView: View { var body: some View { TextField(" プレーン ").textFieldStyle(PlainTextFieldStyle()) TextField(" 角丸ボーダー ").textFieldStyle(RoundedBorderTextFieldStyle()) } }