import SwiftUI
extension Text {
func textModifier(color: Color) -> some View {
self
.font(.system(size: 14, design: .monospaced))
.fontWeight(.bold) // Viewに準拠していないModifier
.multilineTextAlignment(.center) // Viewに準拠していないModifier
.padding(7)
.overlay(RoundedRectangle(cornerRadius: 10).stroke(lineWidth: 1))
.foregroundColor(color)
}
}
struct ContentView: View {
let pi = 3.141519 // 円周率z
@State private var text: String = """
A text editor view allows you to display and edit multiline,scrollable text in your app’s user interface.
複数行のスクロール可能なテキストを表示・編集できる
"""
var body: some View {
VStack {
Text("myテキスト")
.textModifier(color: .red)
Text("円周率:\(pi, specifier: "%.2f")")
.font(.system(size: 40, weight: .black, design: .default))
.foregroundColor(.green)
.padding(.top, 10)
TextEditor(text: $text)
.frame(width: 320, height: 150)
.padding(.bottom, -20)
Text("Hello, world!").kerning(5)
.font(.custom("Times-Roman", size: 35))
.padding(.top, 20)
Text("エリア 200 x 200 の中に文章を中央寄りで表示します。よろしくお願いいたします。")
.frame(width: 280, height: 100, alignment: .leading)
.multilineTextAlignment(.leading)
.lineSpacing(10)
Text("SwiftUI")
.font(.system(size: 50, weight: .black, design: .default))
Divider().padding(.bottom, 10)
Text("SwiftUIで") +
Text("一部の文字").foregroundColor(.red).fontWeight(.bold) + Text("だけを装飾する。")
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}