Isi kandungan:

Buat Paparan Skrol Dengan Swift: 9 Langkah
Buat Paparan Skrol Dengan Swift: 9 Langkah

Video: Buat Paparan Skrol Dengan Swift: 9 Langkah

Video: Buat Paparan Skrol Dengan Swift: 9 Langkah
Video: Mengatasi Touchpad Laptop Yang Eror - Tiba-tiba Scroll Kebawah Atau Keatas Sendiri 2024, Julai
Anonim
Image
Image

Beberapa bulan yang lalu, saya tidak mengetahui kewujudan pantas dan Xcode. Hari ini, saya dapat mengembangkan sebahagian kecil aplikasi yang ingin saya buat. Saya dapat membuat sesuatu yang menarik, yang ingin saya kongsikan kepada anda.

Dalam tutorial ini saya akan memandu anda melalui proses membuat pemandangan tatal tatal, di mana pengguna akan diarahkan ketika mereka ingin mendaftarkan akaun baru. Sepanjang perjalanan, saya akan memastikan untuk memberi anda beberapa penjelasan teori mengenai perkara-perkara yang kita lakukan, supaya anda benar-benar dapat memahami apa yang sedang kita lakukan.

Sebelum kita melakukannya, mari kita bincangkan apa itu Swift dan Xcode:

1. Swift adalah bahasa pengaturcaraan yang kuat dan intuitif untuk macOS, iOS, watchOS dan tvOS. Menulis kod Swift bersifat interaktif dan menyeronokkan, sintaksnya ringkas tetapi ekspresif, dan Swift merangkumi ciri moden yang disukai oleh pembangun. Swift code selamat dari reka bentuk, tetapi juga menghasilkan perisian yang berjalan dengan pantas. Ia direka untuk bekerja dengan kerangka Apple Cocoa dan Cocoa Touch dan sebilangan besar kod Objective-C yang ada yang ditulis untuk produk Apple. Ia dibina dengan kerangka penyusun LLVM sumber terbuka dan telah dimasukkan dalam Xcode sejak versi 6, dilancarkan pada tahun 2014. Di platform Apple, ia menggunakan perpustakaan runtime Objective-C yang membolehkan kod C, Objective-C, C ++ dan Swift berjalan dalam satu program.

2. Xcode adalah persekitaran pengembangan terpadu (IDE) untuk macOS yang berisi rangkaian alat pengembangan perisian yang dikembangkan oleh Apple untuk mengembangkan perisian untuk macOS, iOS, watchOS, dan tvOS.

Langkah 1: Muat turun Xcode

Bekerja di UI
Bekerja di UI

Xcode 10 merangkumi semua yang anda perlukan untuk membuat aplikasi luar biasa untuk semua platform Apple. Kini Xcode dan Instrumen kelihatan hebat dalam Mode Gelap baru di macOS Mojave. Penyunting kod sumber membolehkan anda mengubah atau mengubah kod kod dengan lebih mudah, melihat perubahan kawalan sumber di sepanjang garis yang berkaitan, dan mendapatkan maklumat dengan cepat mengenai perbezaan kod hulu. Anda boleh membina instrumen anda sendiri dengan visualisasi dan analisis data tersuai. Swift menyusun perisian dengan lebih cepat, membantu anda menyampaikan aplikasi yang lebih pantas, dan menghasilkan binari yang lebih kecil lagi. Suite ujian selesai berkali-kali lebih cepat, bekerja dengan pasukan lebih mudah dan selamat, dan banyak lagi.

Xcode 10 merangkumi Swift 4.2, yang menyusun perisian anda dengan lebih cepat, membantu anda menyampaikan aplikasi yang lebih pantas, dan menghasilkan binari yang lebih kecil lagi. Berbanding dengan Swift 4.0, penyusun Swift terbaru dapat membina aplikasi besar lebih dari dua kali lebih cepat. * Digabungkan dengan sistem binaan Xcode baru yang baru, aliran kerja edit, bina, dan ujian harian anda jauh lebih pantas. Dioptimumkan untuk perkakasan Mac pelbagai teras terkini, Xcode dan Swift menjadikan platform pengembangan sepantas kilat.

Langkah 2: Mari Bermula

Image
Image

Jadi apa yang akan kita lakukan adalah pergi ke Xcode dan membuat projek baru. Sebaik sahaja kita mengklik projek baru aplikasi kita akan menjadi aplikasi paparan tunggal. Bagi mereka yang tidak tahu, aplikasi satu paparan bermaksud anda perlu memulakan semuanya dari awal dan akan ada satu paparan tunggal yang dapat kami atur.

Namakan TutorialApp produk anda. Sekiranya anda seorang pembangun berpengalaman yang menerbitkan aplikasi di App Store, anda mungkin akan mempunyai pasukan, tetapi jika anda baru dan tidak mempunyai aplikasi yang diterbitkan, anda boleh melangkau bidang ini. Dalam nama organisasi, anda boleh menulis nama syarikat sekiranya anda memilikinya, sekiranya saya akan menyimpan MacBook Pro. Kemudian, Pengecam Organisasi dianggap sebagai pengecam unik projek anda, oleh itu, anda boleh menulis apa sahaja yang anda mahukan. Bahasa pasti akan pantas.

Jadi, tekan seterusnya dan mari simpan projek di desktop supaya mudah diakses.

Projek baru terdiri daripada tiga fail, AppDelegate.swift, ViewController.swift, dan bintang tutorial ini: Main.storyboard. Di bawah Maklumat Penerapan> Orientasi Peranti dalam tetapan projek Umum, tetapkan Perangkat ke iPhone. Oleh kerana ini adalah aplikasi potret sahaja, hapus centang pilihan Landscape Leftand Landscape Right. Buka Main.storyboard di navigator projek untuk melihatnya di Interface Buildereditor:

Kami tidak akan membuat perubahan dalam konfigurasi dan kami akan terus ke papan cerita utama. Oleh kerana kami membuat aplikasi paparan tunggal, kami membuat satu paparan tunggal, kosong dan sederhana. Ini adalah sesuatu yang perlu kita atasi.

Langkah 3: Bekerja di UI

Bekerja di UI
Bekerja di UI
Bekerja di UI
Bekerja di UI

Istilah papan cerita rasmi untuk pengawal pandangan adalah "pemandangan", tetapi anda boleh menggunakan istilah tersebut secara bergantian. Suatu pemandangan mewakili pengawal pandangan di papan cerita.

Di sini anda melihat pengawal pandangan tunggal yang mengandungi pandangan kosong. Anak panah yang menunjuk ke pengawal pandangan dari kiri menunjukkan bahawa ini adalah pengawal pandangan awal yang akan dipaparkan untuk papan cerita ini. Merancang susun atur di editor papan cerita dilakukan dengan menyeret kawalan dari Perpustakaan Objek (lihat sudut kanan atas) ke pengawal pandangan anda.

Untuk mengetahui bagaimana editor papan cerita berfungsi, seret beberapa kawalan dari Perpustakaan Objek ke pengawal pandangan kosong seperti yang dilihat dalam video.

Semasa anda menyeret kawalan ke dalam, kawalan tersebut akan muncul di Garis Besar Dokumen di sebelah kiri.

Anda boleh membuat Antara Muka Pengguna yang anda mahukan. Dalam kes saya, saya menggunakan yang anda lihat dalam gambar.

Langkah 4: Kembangkan Pengawal Pandangan Kedua dan Mulakan Segmen (peralihan)

Image
Image
Bina Leretan Mendatar Halaman
Bina Leretan Mendatar Halaman

Oleh itu, dalam aplikasi saya, apabila pengguna menekan butang "Daftar Akaun Baru", saya mahu dia diarahkan ke halaman akaun pendaftaran. Jadi untuk tujuan itu, setiap halaman adalah pemandangan baru, paparan baru. Untuk itu, kita harus membuat pengawal pandangan kedua, yang boleh anda temukan di perpustakaan objek.

Taip pengawal pandangan dan letakkan di sebelah pengawal pandangan awal anda. Pemandangan ini akan bertanggungjawab untuk pengawal paparan daftar. Pengalihan ke halaman tersebut dapat dilakukan dengan dua cara:

  1. kita boleh melakukannya secara manual semasa kita membuat sambungan tindakan dari butang ke kawalan pandangan yang lain
  2. kita boleh melakukannya secara teratur

Apa yang saya pilih adalah membuatnya secara manual. Ia mudah seperti itu:

  1. Buat satu klik kiri pada butang anda (dalam kes saya, Daftar Akaun Baru)
  2. Tahan perintah dan klik kiri tetikus untuk menyeretnya ke tempat kawalan daftar.
  3. Lepaskan di sana dan pilih "Present Modally"

Langkah 5: Buat Kelas Pengaturcaraan untuk Proses Pendaftaran

Jadi, sekarang kami ingin membuat kelas pengekodan khusus untuk pemandangan baru.

Untuk melakukannya, anda perlu melakukan langkah berikut:

  • klik kanan pada folder projek anda
  • klik pada fail baru yang dipanggil kelas sentuhan koko
  • dalam kelas menulis: RegisterVC
  • SANGAT PENTING! Pastikan subkelas mestilah jenis UIViewController
  • bahasa mesti pantas.
  • klik seterusnya dan simpan kelas koko anda di dalam akar utama projek anda.
  • Klik pada papan cerita utama dan pergi ke pengawal paparan baru
  • klik pada butang kuning yang diletakkan di atasnya
  • di sebelah kanan pergi ke pemeriksa kelas dan buat rujukan ke Daftar VC (Costum class, class = RegisterVC

Langkah 6: Bina Leretan Mendatar Halaman

Di iOS, paparan tatal digunakan untuk melihat kandungan yang tidak akan muat sepenuhnya di skrin. Paparan tatal mempunyai dua tujuan utama:

Untuk membiarkan pengguna menyeret area konten yang ingin mereka tampilkan, untuk membiarkan pengguna memperbesar atau memperkecil konten yang ditampilkan menggunakan gerakan mencubit. Kawalan biasa yang digunakan dalam aplikasi iOS - UITableView - adalah subkelas UIScrollView dan menyediakan cara yang bagus untuk melihat kandungan yang lebih besar daripada skrin.

Apa yang menggunakan sub-halaman dalam leretan mendatar?

Sekiranya saya membuat 6 halaman berbeza, ini bermaksud bahawa saya harus membuat kelas khusus untuk masing-masing dan tidak semudah itu untuk menyampaikan maklumat dari satu kelas ke kelas yang lain. Contohnya ketika saya taipkan e-mel saya dan kemudian klik seterusnya, jika saya mempunyai pengawal pandangan yang berbeza, saya akan meninggalkan halaman pertama Pengawal Pandangan dan kemudian yang kedua akan dibentangkan. Dalam kes ini, maklumat pengawal pandangan pertama, mesti dihantar ke pengawal pandangan pertama dan sekali lagi ke pengawal pandangan ketiga dan lain-lain. Apabila saya mempunyai semua pengawal pandangan yang saya perlukan, saya perlu mengumpulkan semua data dari semua halaman dan hantar ke pelayan. Jadi, ini akan menjadi sangat rumit.

Oleh itu, beralih ke penciptaan pengawal pandangan ini, dalam kes saya, saya mempunyai 5 halaman yang ingin saya buat:

  1. E-mel
  2. Nama penuh
  3. Kata Laluan
  4. Tarikh lahir
  5. Jantina

Ini bermaksud, bahawa pengawal pandangan yang akan kami buat, mestilah 5 kali lebih besar daripada yang kami buat sebelumnya.

Pilih pengawal pandangan anda dan pergi ke sudut atas, kanan dan klik pada ikon pembaris dan edit Ukuran Simulasi. Anda akan memilih Freeform untuk menyesuaikan lebar dan tinggi. Lebar lalai skrin yang sesuai untuk iphone 8 ialah 375, jadi jika saya mengalikan 375 * 5 = 1875. Dan di sini, anda mempunyai pengawal pandangan lanjutan.

Begitu juga, anda mengikuti proses yang sama untuk semua telefon dan saiz skrin yang berbeza.

Untuk menjadikan pandangan tatal berfungsi, kita memerlukan objek tatal tatal. Scroll View menyediakan mekanisme untuk menampilkan kandungan yang lebih besar daripada ukuran tetingkap aplikasi. Klik pada objek ini, seret dan letakkan di sudut kiri atas pengawal pandangan dan pastikan bahawa X dan Y berada pada kedudukan sifar dan regangan sesuai dengan pengawal pandangan anda.

Skrol View hanya membolehkan kita menatal, tidak lain. Kemudian kita perlu menambah paparan kandungan, yang akan menyimpan paparan lain. Anda dapat menemui UIView - ia mewakili kawasan segi empat di mana ia melukis dan menerima peristiwa - di perpustakaan objek. Cukup, klik dan seret ke dalam tatal tatal dan sekali lagi, meregangkannya dengan sewajarnya.

Pilih paparan tatal dari panel kiri dan kami akan memanggil penjajaran 0, 0, 0, 0 dan menambah kekangan. Lakukan perkara yang sama untuk paparan kandungan.

Langkah 7: Kembangkan Antara Muka Pengguna untuk Sub-halaman Leret Mendatar

Image
Image
Laksanakan Reka Bentuk dalam Xcode
Laksanakan Reka Bentuk dalam Xcode

Dalam langkah ini, anda mesti membuat UI sub-halaman anda. Apa yang saya pilih adalah membuat prototaip dalam Sketch dan kemudian membinanya dalam Xcode.

Langkah 8: Terapkan Reka Bentuk dalam Xcode

Laksanakan Reka Bentuk dalam Xcode
Laksanakan Reka Bentuk dalam Xcode
Laksanakan Reka Bentuk dalam Xcode
Laksanakan Reka Bentuk dalam Xcode

Langkah seterusnya adalah melaksanakan reka bentuk ini dalam Xcode. Untuk melakukannya, anda mesti membuat sambungan outlet untuk semua sub-halaman dan membuat yang lain untuk "pandangan ibu", yang bermaksud, satu sambungan outlet untuk keseluruhan pengawal paparan.

Elemen dalam papan cerita dihubungkan dengan kod sumber. Penting untuk memahami hubungan yang dimiliki papan cerita dengan kod yang anda tulis.

Di papan cerita, pemandangan mewakili satu skrin kandungan dan biasanya satu pengawal pandangan. Pengawal paparan melaksanakan tingkah laku aplikasi anda dan mengurus satu paparan kandungan dengan hierarki subtinjauan. Mereka mengkoordinasikan aliran informasi antara model data aplikasi, yang merangkumi data aplikasi, dan pandangan yang memaparkan data tersebut, mengatur siklus hidup paparan kandungannya, menangani perubahan orientasi ketika perangkat diputar, menentukan navigasi dalam aplikasi Anda, dan melaksanakan tingkah laku untuk bertindak balas terhadap input pengguna. Semua objek pengawal pandangan di iOS adalah jenis UIViewController atau salah satu subkelasnya.

Anda menentukan tingkah laku pengawal pandangan anda dalam kod dengan membuat dan melaksanakan subkelas pengawal pandangan tersuai. Anda kemudian boleh membuat hubungan antara kelas dan pemandangan di papan cerita anda untuk mendapatkan tingkah laku yang anda tentukan dalam kod dan antara muka pengguna yang anda tentukan dalam papan cerita anda.

Xcode sudah membuat satu kelas seperti itu yang anda lihat sebelumnya, ViewController.swift, dan menghubungkannya ke tempat kejadian yang anda kerjakan di papan cerita anda. Semasa anda menambahkan lebih banyak pemandangan, anda akan membuat sambungan ini sendiri di pemeriksa Identiti. Pemeriksa Identiti membolehkan anda mengedit sifat objek di papan cerita anda yang berkaitan dengan identiti objek tersebut, seperti kelas mana objek tersebut berada.

Buat Outlet untuk UI ElementsOutlets menyediakan cara untuk merujuk objek antara muka-objek yang anda tambahkan ke papan cerita anda-dari fail kod sumber. Untuk membuat outlet, Control-drag dari objek tertentu di papan cerita anda ke fail pengawal pandangan. Operasi ini membuat properti untuk objek dalam fail pengawal pandangan anda, yang membolehkan anda mengakses dan memanipulasi objek tersebut dari kod pada waktu runtime

  1. Buka papan cerita anda, Main.storyboard.
  2. Klik butang Assistant di bar alat Xcode berhampiran sudut kanan atas Xcode untuk membuka pembantu editor. Sekiranya anda mahukan lebih banyak ruang berfungsi, runtuh navigator projek dan kawasan utiliti dengan mengklik butang Navigator dan Utiliti di bar alat Xcode.
  3. Anda juga boleh meruntuhkan pandangan garis besar.

Di bar pemilih editor, yang muncul di bahagian atas pembantu editor, ubah pembantu editor dari Pratonton ke Automatik> ViewController.swift.

Klik sub-halaman dan seret ke kelas yang sesuai dalam kod.

Langkah 9: Gabungkan Gerakan Tersuai

Image
Image
Gabungkan Gerakan Tersuai
Gabungkan Gerakan Tersuai

TANDATANGAN SWIPE

Gerakan sapu berlaku apabila pengguna menggerakkan satu atau beberapa jari melintasi skrin dalam arah mendatar atau menegak tertentu. Gunakan kelas UISwipeGestureRecognizer untuk mengesan isyarat leret.

Pelaksanaan isyarat sapu

Langkah 1: Tambahkan gerakan Gesek dalam kaedah viewDidLoad ()

ganti func viewDidLoad () {super.viewDidLoad ()

let swipeLeft = UISwipeGestureRecognizer (sasaran: diri, tindakan: #selector (handleGesture)) swipeLeft.direction =.left self.view.addGestureRecognizer (swipeLeft)

let swipeRight = UISwipeGestureRecognizer (sasaran: diri, tindakan: #selector (handleGesture)) swipeRight.direction =.right self.view.addGestureRecognizer (swipeRight)

let swipeUp = UISwipeGestureRecognizer (sasaran: diri, tindakan: #selector (handleGesture)) swipeUp.direction =.up self.view.addGestureRecognizer (swipeUp)

let swipeDown = UISwipeGestureRecognizer (sasaran: diri, tindakan: #selector (handleGesture)) swipeDown.direction =.down self.view.addGestureRecognizer (swipeDown)}

Langkah 2: Periksa pengesanan isyarat di handleGesture () kaedah func handleGesture (isyarat: UISwipeGestureRecognizer) -> Batal {if gesture.direction == UISwipeGestureRecognizerDirection.right {print ("Swipe Right")} lain jika gesture.direction == UISwipeGestureRecognizer kiri {print ("Swipe Left")} lain jika gesture.direction == UISwipeGestureRecognizerDirection.up {print ("Swipe Up")} lain jika gesture.direction == UISwipeGestureRecognizerDirection.down {print ("Swipe Down")}}

Dalam aplikasi saya, saya mahu menggunakan swipeRight, tetapi bebas untuk menggunakan aplikasi yang lebih sesuai untuk aplikasi anda.

Sekarang, mari kita masukkan ini ke dalam kod kami.

Kami pergi ke registerVC.swift yang kami buat sebelumnya dan menulis kod seperti yang anda lihat dalam gambar.

PENJELASAN KOD

biarkan current_x mendapatkan kedudukan semasa ScrollView (kedudukan mendatar) membiarkan lebar_ lebar layar mendapat lebar skrin, mengurangkan ukuran ini membiarkan new_x dari kedudukan tatal tatal semasa, saya kembali dengan lebar skrin jika current_x> 0 hingga kecuali jika melebihi dari 0 - 0 adalah halaman pertama.

Dan kita sudah selesai!

Selamat bekerja!

Disyorkan: