Trong WWDC 2019, Apple gần đây đã giới thiệu bản trình bày thẻ dưới dạng bản trình bày mặc định mới. Trên iOS 13 trở lên, đây sẽ là hành vi mới cho trình điều khiển chế độ xem theo chế độ khi được trình bày. Vì vậy, nếu bạn muốn nhấn mạnh vào phương thức toàn màn hình, có nhiều cách để lưu trữ điều này. Một là sử dụng trình kết xuất vì tôi sẽ hạ cấp bên dưới.
Giải pháp
Chúng ta có thể dễ dàng tìm hiểu điều này bằng cách triển khai trình kết xuất điều hướng tùy chỉnh cho ứng dụng. Bắt đầu bằng cách tạo lớp trình kết xuất NavigationPageRenderer . Ở đây chúng tôi sẽ khai báo ModalPftimeationStyle (Có thể tương ứng để chỉ định loại bố cục mà ứng dụng sẽ sử dụng).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | using System; using UIKit; using Xamarin.Forms; using Xamarin.Forms.Platform.iOS; [assembly: ExportRenderer(typeof(NavigationPage), typeof(NavigationPageRenderer))] namespace KaguyaMobile.iOS.CustomRenderer { public class NavigationPageRenderer : NavigationRenderer { public override void WillMoveToParentViewController(UIViewController parent) { try { if (parent != null) { if (UIDevice.CurrentDevice.CheckSystemVersion(13, 0)) { // Change Navigation Style to Fullscreen (iOS 13 and above) parent.ModalPresentationStyle = UIModalPresentationStyle.OverFullScreen; } } base.WillMoveToParentViewController(parent); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex); } } } } |
Tất nhiên, bạn luôn có thể áp dụng UIModalPftimeationStyle cho mỗi chế độ xem mỗi lần nói nhưng sử dụng trình kết xuất mở rộng NavigationRenderer sẽ áp dụng cho tất cả các màn hình của bạn. Chúc mừng mã hóa !!!