Pengantar cepat ke SwiftUI

SwiftUI adalah cara mudah baru untuk membuat antarmuka pengguna di Xcode. Jika Anda ingin pengantar cepat ke SwiftUI, maka posting blog ini adalah untuk Anda.

Untuk memulai, mari buat proyek dengan dukungan SwiftUI. Persyaratan sistem minimum untuk ini adalah macOS Catalina dan Xcode 11. Buat proyek baru "File> New> Project ..." , pilih "Aplikasi Tampilan Tunggal" dan pastikan bahwa "Antarmuka Pengguna: SwiftUI" dipilih .



Proyek akan terlihat seperti ini:



Seperti yang mungkin telah Anda perhatikan, sekarang Anda dapat melihat semua perubahan langsung pada Pratinjau . Misalnya, coba ubah teks menjadi "Halo, Habr!" . Keren ya

Jika tidak ada perubahan, klik tombol Lanjutkan (di sudut kanan atas). Jika Pratinjau tidak terlihat - klik opsi Editor dan pastikan Canvas dipilih (⌥Pilihan + ⌘Perintah + ↵Masukkan) .


Lihat, Teks, Stack ...


Jika Anda memilih ContentView.swift , maka kita akan melihat:

struct ContentView: View { var body: some View { Text(", !") } } 

Di sini kita melihat bahwa tubuh ContentView> memiliki Teks yang menampilkan "Halo, Habr!" . Mari kita tambahkan teks lain. Jika Anda mencoba menambahkan langsung ke tampilan tubuh , Xcode akan bersumpah. Untuk melakukan ini, pertama gunakan HStack atau VStack . Tekan Command dan klik pada Text (ommCommand + Text) , lalu pilih “Embed in HStack” .



Perintah ini akan secara otomatis membuat HStack dan menambahkan teks kami di sana. Sekarang Anda dapat menambahkan teks lain:

 struct ContentView: View { var body: some View { HStack { Text(",") Text("!") } } } 

Inspektur Swiftui


Jika Anda mengklik "Perintah + Teks" dan pilih "Tampilkan SwiftUI Inspektur ..." , seorang inspektur akan terbuka di mana Anda dapat secara visual mengubah properti teks. Misalnya, jika di inspektur "Font" diubah menjadi "Judul Besar" , maka kode juga akan berubah menjadi .font (.largeTitle) . Sangat sederhana:



Apa itu Negara ?


Untuk memahami apa itu Negara , mari kita tambahkan beberapa tindakan. Kami ulangi apa yang kami lakukan sebelumnya: "ommCommand + HStack" , pilih "Embed in VStack" , lalu tambahkan Button ke VStack ini:

 struct ContentView: View { @State var tapCount = 0 var body: some View { VStack { HStack { Text(",") .font(.largeTitle) .foregroundColor(Color.green) Text("!") .font(.largeTitle) .fontWeight(.bold) } Button(action: { self.tapCount += 1 }) { Text("Tap count \(tapCount)") .font(.title) } } } } 

Setiap kali Anda mengklik tombol, kami mengubah nilai tapCount . Tapi apa yang dimaksud dengan negara ? Jika kita ingin tampilan kita ditampilkan lagi ketika beberapa nilai berubah, maka kita harus menggunakan State . Dalam hal ini, ketika kami mengklik tombol, kami mengubah tapCount , yang ditetapkan sebagai Negara . Itu sebabnya setiap klik tubuh kita dirender lagi.

Pratinjau langsung


Saat ini, jika Anda mengklik tombol, maka tidak ada yang terjadi. Untuk memperbaikinya dan berfungsi seperti simulator, Anda harus mengaktifkan "Pratinjau Langsung" . Tombol aktivasi terletak di kanan bawah:



Sekarang coba lagi. Setiap kali Anda menekan tombol, nilainya akan berubah.

Apa selanjutnya


Sekarang Anda memiliki konsep dasar SwiftUI. Selanjutnya, saya menyarankan Anda untuk membaca Tutorial SwiftUI , menonton video WWDC tentang SwiftUI . Dokumentasi dapat ditemukan di sini .

Tautan ke proyek github ada di sini .

Source: https://habr.com/ru/post/id483316/


All Articles