5

Có vẻ như từ tài liệu và tất cả các ví dụ mà tôi đã tìm thấy rằng SFSafariViewController phải được lập trình bằng một URL cụ thể làm tham số thiết lập. Có thể sử dụng SFSafariViewController làm bộ điều khiển chi tiết cho UISplitViewController không? Cách duy nhất tôi có thể nghĩ đến để làm điều này là để thiết lập một segue trong storyboard, nhưng trong trường hợp đó SFSafariViewController sẽ không có URL nó cần để hiển thị nội dung của nó. Bất kỳ lời khuyên nào về cách thực hiện điều này, lập trình nếu có thể, sẽ được đánh giá cao.Làm thế nào có thể SFSafariViewController được thiết lập như bộ điều khiển chi tiết cho UISplitViewController?

Trả lời

5

Có thể! Tôi đã tìm kiếm một thời gian dài và tôi đã tìm ra một giải pháp. Tôi đang làm điều đó trong bộ điều khiển xem chính của mình, một Trình điều khiển Chế độ xem Bảng. Nếu tôi chọn một ô của Chế độ xem bảng, một SafariViewController sẽ được mở trong chế độ xem chi tiết.

let safariViewController = SFSafariViewController(URL: NSURL(String: "http://google.com")) 
self.showDetailViewController(safariViewController, sender: nil) 

Kết quả: Safari View Controller Detail

Nó đi kèm với một số vấn đề.

  • Bạn nên sử dụng iOS 9.1 trở lên để tránh lỗi UI này: UI Bug Safari View Controller

  • Bạn nên ẩn thanh điều hướng nếu bạn muốn xem xem săn thanh điều khiển tiêu chuẩn (với URL, ...)

+0

Nếu bạn cần thêm trợ giúp, vui lòng đợi. Giải pháp của tôi hoạt động, tôi đang sử dụng nó tại thời điểm này :) –

+0

Có cách nào để ẩn nút đã hoàn thành trong trường hợp đó không? hoặc thay thế bằng 'displayModeButtonItem'? – Mojtaba

Các vấn đề liên quan