> For the complete documentation index, see [llms.txt](https://eneskaraosman53.gitbook.io/swiftui/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://eneskaraosman53.gitbook.io/swiftui/ui-components/text.md).

# Text

1 ya da daha fazla satır yazı görüntülemek için kullanılır.

**Temel Kullanım**

```swift
// 1
Text("Simple Text") // Hardcoded string

// 2
var constString = "Text from variable"
Text(constString)

// Struct kullandığımız için 'constString' düzenleyemeyiz.

// 3
@State var modifiableString = "You can change me!"
Text(modifiableString)

// Düzenleme yapmak istiyorsak @State propertyWrapperını ekleriz.
// Böylelikle herhangi bir blok içinde düzenleyebiliriz.
```

**Font & FontWeight**

```swift

// XCode'dan ilgili dokümanı inceleyebilirsiniz.

Text("Any Text")
    .font(.title)
    .fontWeight(.bold)

// Hazır gelen Font Seçenekleri
.largeTitle
.title
.headline
.subheadline
.body
.callout
.footnote
.caption

.system(
    _ style: Font.TextStyle, 
    design: Font.Design = .default
) -> Font

.system(
    size: CGFloat, 
    weight: Font.Weight = .regular, 
    design: Font.Design = .default
) -> Font

.custom(_ name: String, size: CGFloat) -> Font

// Hazır gelen FontWeight seçenekleri
Font.Weight 
.ultraLight
.thin
.light
.regular
.medium
.semibold
.bold
.heavy
.black
```

**Diğer**

```swift
.foregroundColor(_ color: Color)

.lineLimit(_ number: Int?) // multiline için nil atanır.

.multilineTextAlignment(.center) // leading, center, trailing

// Yazı ilgili frame'e sığmayacak kadar uzun ise 
// nasıl kırpılacağı ile ilgili yardımcı metod.
.truncationMode(_ mode: Text.TruncationMode) // head, tail, middle

// Yine yazı ilgili frame'e sığmayacak durumda ise 
// 0-1 arasında belirleyeceğimiz orana göre kendini sıkıştırabilir.
.minimumScaleFactor(_ factor: CGFloat)

// Multiline textler için satırlar arasındaki boşluk ayarlanır.
.lineSpacing(_ lineSpacing: CGFloat)

// Text'in üsünü çizer.
.strikethrough(active: Bool = true, color: Color? = nil)

// Text'in altını çizer.
.underline(_ active: Bool = true, color: Color? = nil)

.bold()

.italic()
```

`Text` 'de bir `View` olduğu için, View için kullanılabilir metodlar Text için de ücretsiz kullanıma açık.&#x20;

`padding, frame, background, foregroundColor` gibi.

`Text` en temel ve basit bileşenlerden biri olduğu için şimdilik bu kadarı ile yetinebiliriz.
