ios 如何在swift UIKit中冻结制动/禁用用户交互以防止其发生变化?

wswtfjt7  于 2023-03-20  发布在  iOS
关注(0)|答案(1)|浏览(113)

我在VC中设置了一个制动器,作为另一个ViewController(另一个VC)上的滑动面板,在某些情况下,我想冻结\禁用它上下移动...

func viewDidLoad() {
    if let sheet = anotherVC.sheetPresentationController {
           sheet.detents = [.medium(), .large()]
           sheet.delegate = self
           sheet.prefersScrollingExpandsWhenScrolledToEdge = false
           sheet.prefersGrabberVisible = true

           self.present(anotherVC, animated: true)
    }
}

如何禁止止动器移动(上下)?

6l7fqoea

6l7fqoea1#

为了防止vc / sheet(带制动器)消失和关闭,请将***isModalInPresentation***属性设置为TRUE。
为了防止制动器移动到不同的大小,请确保阵列中只有一个制动器。
下面是代码:

if let sheet = anotherVC.sheetPresentationController {
    //only 1 detent in the array:
    sheet.detents = [.medium()]

    //prevents from the mini-view to close:
    sheet.presentedViewController.isModalInPresentation = true
}

相关问题