Chúng tôi mong muốn triển khai một menu có thể sử dụng lại sẽ trượt từ trái sang phải và hiển thị danh sách các mục có thể nhấp. Mỗi hàng trên danh sách và nội dung hiển thị có thể là bất kỳ View, có nghĩa là menu phải hỗ trợ các loại chung.

Menu View triển khai 

Bạn có thể tìm thấy cách triển khai cuối cùng trong repo của tôi . Đến cuối hướng dẫn, bạn sẽ có một cái gì đó như sau: 

Khi triển khai các chế độ xem tùy chỉnh trong Swift, bạn có thể ghi tất cả các chế độ xem trong cùng một tệp.

Tuy nhiên, điều này ngăn không cho các chế độ xem được sử dụng lại và làm cho mã của chúng tôi khó đọc. Ghi các đồ sộ ViewController trong UIKit? Làm thế nào về một lớn View?

Tạo một tệp mới và gọi nó MenuView. Hãy xác định cấu trúc là: 

MenuView định nghĩa ba loại generic: Item, Row, và Content. Hãy xem từng cái này là gì:

  • Itemlà mô hình dữ liệu điền a Row.
  • Row là chế độ xem được hiển thị cho một mục cụ thể trong menu.
  • Content là dạng xem được hiển thị trên màn hình cho chỉ mục đã chọn của menu. 
Trang đầu của một cuốn menu view
Trang đầu của một cuốn menu view

Đối với những người đã quen thuộc với SwiftUI, Itemvà Rowcó thể nghe rất giống với List.

Lisp Lấy một bộ sưu tập các Identifiablemục và một khối nhà máy để tạo ra một View Cho mỗi mục. Trong trường hợp của chúng tôi, MenuView sẽ lấy hai khối nhà máy để xây dựng các hàng của danh sách và nội dung của hàng đã chọn.

Menu View chỉ là một tích hợp được Lisp Xếp chồng lên nhau trên một trang nội dung động.

Menu View phụ thuộc

Để tạo một MenuView, chúng tôi sẽ cần chuyển danh sách các mục sẽ lấp đầy các hàng cũng như hai khối nhà máy để đưa vào chế độ xem của cả hàng và phần một cách tự động.

Vì vậy, chúng tôi có thể sử dụng @ViewBuildertrình bao bọc thuộc tính. Điều này sẽ cho phép chúng tôi viết mã theo cách “SwiftUI-y” hơn, tức là theo cách mô tả hơn.

MenuViewđịnh nghĩa ba loại generic: Item, Row, và Content. Hãy xem từng cái này là gì: 

  • Itemlà mô hình dữ liệu điền a Row.
  • Row là chế độ xem được hiển thị cho một mục cụ thể trong menu.
  • Content là dạng xem được hiển thị trên màn hình cho chỉ mục đã chọn của menu.

Đối với những người đã quen thuộc với SwiftUI, Itemvà Rowcó thể nghe rất giống với List.

Listlấy một bộ sưu tập các Identifiablemục và một khối nhà máy để tạo ra một Viewcho mỗi mục. Trong trường hợp của chúng tôi, MenuViewsẽ lấy hai khối nhà máy để xây dựng các hàng của danh sách và nội dung của hàng đã chọn. 

Menu view thiết kế giống cuốn sổ tay cao cấp
Menu view thiết kế giống cuốn sổ tay cao cấp

MenuViewchỉ là một tích hợp được Listxếp chồng lên nhau trên một trang nội dung động.

MenuView mục lục 

Để tạo một MenuView, chúng tôi sẽ cần chuyển danh sách các mục sẽ lấp đầy các hàng cũng như hai khối nhà máy để đưa vào chế độ xem của cả hàng và phần một cách tự động.

Vì vậy, chúng tôi có thể sử dụng @ViewBuildertrình bao bọc thuộc tính. Điều này sẽ cho phép chúng tôi viết mã theo cách “SwiftUI-y” hơn, tức là theo cách mô tả hơn. 

Mẫu vải da làm sổ menu theo yêu cầu tại Minh Châu
Mẫu vải da làm sổ menu theo yêu cầu tại Minh Châu

Thông tin về chúng tôi:

Hotline : 0978891148 (Mrs.Hoài) – Email : [email protected]

Công ty tại Hà Nội : 1705c Golden Land Hoàng Huy, Nguyễn Trãi, Thanh Xuân

Công ty tại TPHCM : 7th Floor, Centre Point, 106 Nguyễn Văn Trỗi, P.8, Q. Phú nhuận, TP. HCM

Facebook : https://facebook.com/sodaminhchau/