cuốn sách gpt4 ai đã làm

ios - hoạt ảnh xem "bật ra"

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 21:58:30 28 4
mua khóa gpt4 Nike

Tôi đang cố gắng tìm cách sao chép hoạt ảnh chế độ xem "bật lên" được hiển thị ở đây:https://imgur.com/a/irFqdiP .Tôi đang sử dụng mã hiện tại để hiển thị viewController của mình nhưng hiện chỉ có hoạt ảnh mờ dần hoạt động. Làm cách nào để tạo hoạt ảnh được hiển thị? Đây có phải là một phong tục?

   hãy bật lên: SearchViewController = self.storyboard?.instantiateViewController(withIdentifier: "SearchViewController") làm SearchViewController!
self.hiện tạiOnRoot(với: cửa sổ bật lên)


phần mở rộngUIViewController {
func PresentOnRoot(`with` viewController : UIViewController){
hãy để NavigationController = UINavigationController(rootViewController: viewController)
NavigationController.modalPresentationStyle = UIModalPresentationStyle.overCurrentContext
self.hiện tại (navigationController, hoạt hình: đúng, hoàn thành: không)
}
}

câu trả lời hay nhất

Có, đây có vẻ là một chuyển đổi tùy chỉnh. Bạn có thể vượt qua UIViewControllerTransitioningDelegateUIViewControllerAnimatedTransitioning

đạt được điều này

Đây là một hướng dẫn giới thiệu tốt:Raywenderlich: Hướng dẫn trình bày VC tùy chỉnh

Khi bạn đã hiểu đúng về delegate và animationControllers, bạn có thể sử dụng được cung cấp containerView Viết hoạt ảnh hiện tại/kết thúc của riêng bạn.

Một cách để đạt được điều này là bằng cách UIPresentationController loại frameOfPresentedViewInContainerView Biến chỉ cần chỉ định khung mong muốn và chỉ tạo hoạt ảnh cho phần trình bày và đóng của nó thông qua containerView. Đây là một ví dụ về trình bàyController mà tôi đang nói đến: -

lớp YourPresentationController: UIPresentationController {

// Làm bất cứ điều gì bạn muốn. Tôi đã thêm chế độ xem với tông màu đen để nhấn mạnh phần trình bày.

hãy làm mờView: UIView = {
hãy xem = UIView()
view.backgroundColor = UIColor(trắng: 0,0, alpha: 0,5)
quay lại xem
}()

ghi đè trình bày funcTransitionWillBegin() {
dimmingView.frame = containerView!.bounds
mờView.alpha = 0,0
containerView!.insertSubview(dimmingView, at: 0)

được trình bàyViewController.transitionCoorder?.animate(alongsideTransition: { _ in
self.dimmingView.alpha = 1.0
})
}

ghi đè chức năng sa thảiTransitionWillBegin() {
được trình bàyViewController.transitionCoorder?.animate(alongsideTransition: { _ in
self.dimmingView.alpha = 0,0
}) { _ TRONG
self.dimmingView.removeFromSuperview()
}
}

// Biến này là những gì tôi đang nói đến. Chỉ cần chỉ định khung mà bạn muốn chế độ xem VC được trình bày của bạn ở: -

ghi đè var frameOfPresentedViewInContainerView: CGRect {
var size = containerView!.bounds.size
trả về CGRect(origin: CGPoint(x: 0, y: 0), size: size)
}

ghi đè func containerViewWillLayoutSubviews() {
dimmingView.frame = containerView!.bounds
được trình bàyView?.frame = frameOfPresentedViewInContainerView
}
}

...và thực hiện một hoạt ảnh đơn giản khi trình bày và đóng Chế độ xem (trong UIViewControllerAnimatedTransitioning Lớp kế thừa containerView center) để hiển thị hiệu ứng mờ dần. Cũng lưu ý rằng có 'n' cách để làm điều này, đây chỉ là một trong số đó

Về hoạt ảnh xem ios - "bật ra", chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/56967595/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress