如何覆盖'UIScrollView.delegate'?
Posted
技术标签:
【中文标题】如何覆盖\'UIScrollView.delegate\'?【英文标题】:How to override 'UIScrollView.delegate'?如何覆盖'UIScrollView.delegate'? 【发布时间】:2015-07-31 16:19:16 【问题描述】:当我查看UITableView
时,我发现UITableView
的UITableViewDelegate
继承自UIScrollViewDelegate
以便覆盖UIScrollView
的delegate
这是我实现自己的“UIScrollView”子类的方法。
protocol UIFormViewDelegate:NSObjectProtocol, UIScrollViewDelegate
class UIFormView: UIScrollView
override var delegate:UIFormViewDelegate?
问题是编译器给出警告:
类型为 'UIFormViewDelegate?' 的属性 'delegate'无法覆盖类型为“UIScrollViewDelegate?”的属性
谁能告诉我这里出了什么问题?
【问题讨论】:
【参考方案1】:你不能覆盖delegate
的类型
你能做的就是这样
class DelegateClass: NSObject, UIFormViewDelegate
class UIFormView: UIScrollView
func setUpDelegate()
self.delegate = DelegateClass()
然后在有意义的地方拨打setUpDelegate
【讨论】:
如果是,为什么 UITableView 覆盖委托成功 因为那段代码是用 Objective-C 写的。如果你在 Obj-C 中实现UIFormView
类,你也可以这样做,但不能使用 Swift以上是关于如何覆盖'UIScrollView.delegate'?的主要内容,如果未能解决你的问题,请参考以下文章