我安装了一个Pod Material
,该pod有类似的内容:
extension UIViewController: UIViewControllerTransitioningDelegate {
//here is the method to conform protocol
}
但我需要在同一个地方遵守该协议:
当我尝试使用UIViewController
扩展UIViewControllerTransitioningDelegate
时,我收到了错误消息:
与协议的冗余一致性。
我需要做什么?
extension UIViewController: UIViewControllerTransitioningDelegate {
//my OWN implementation here I need
}
有没有办法用我自己的方式覆盖Pod的一致性?
答案 0 :(得分:0)
我找到的唯一方法是创建一个单独的BaseController类,它只是UIViewController的子类
import UIKit
class BaseController: UIViewController {
}
仅放置在不导入Material的文件中。 并且要覆盖UIViewControllerTransitioningDelegate的所有UIViewControllers都应该是它的子类。
import UIKit
import Material
class ViewController: BaseController {
}
这将使其编译
extension ViewController: UIViewControllerTransitioningDelegate{
func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
return nil
}
}
这不是最佳解决方案,但它可以正常工作
编辑:这将允许您使用像文本字段等材质元素,同时保留UIViewController的默认功能,而无需在库中找到添加内容