实现PageTitleViewDelegate 协议,eventHandler 这个属性怎么去写?
ppswdev opened this issue · 2 comments
ppswdev commented
实现PageTitleViewDelegate 协议,eventHandler 这个属性怎么去写? Demo 也没有,没使用过协议属性
public protocol PageTitleViewDelegate: class {
/// DNSPageView的事件回调处理者
var eventHandler: PageEventHandleable? { get }
func titleView(_ titleView: PageTitleView, didSelectAt index: Int)
}
Danie1s commented
不好意思,我差点忘记了回复。
eventHandler
的用法是让每一页对应的controller遵守 PageEventHandleable
协议就可以了
// 创建每一页对应的controller
for i in 0..<titles.count {
// 让这个 ContentViewController 遵守 PageEventHandleable 协议,然后就会有相应的回调;当然也可以不遵守
let controller = ContentViewController()
controller.view.backgroundColor = UIColor.randomColor
controller.index = i
addChild(controller)
}
具体请参考 Demo
Danie1s commented
这个协议不需要外界来实现,内部的 PageContentView 已经实现,你想收到点击时的回调,可以直接使用
open class PageTitleView: UIView {
public var clickHandler: TitleClickHandler?
}
…------------------ 原始邮件 ------------------
发件人: "xiaopin"<notifications@github.com>;
发送时间: 2020年8月11日(星期二) 中午11:33
收件人: "Danie1s/DNSPageView"<DNSPageView@noreply.github.com>;
抄送: "刘俊华"<176516837@qq.com>; "State change"<state_change@noreply.github.com>;
主题: Re: [Danie1s/DNSPageView] 实现PageTitleViewDelegate 协议,eventHandler 这个属性怎么去写? (#48)
不好意思,我差点忘记了回复。
eventHandler 的用法是让每一页对应的controller遵守 PageEventHandleable 协议就可以了
// 创建每一页对应的controller for i in 0..<titles.count { // 让这个 ContentViewController 遵守 PageEventHandleable 协议,然后就会有相应的回调;当然也可以不遵守 let controller = ContentViewController() controller.view.backgroundColor = UIColor.randomColor controller.index = i addChild(controller) }
具体请参考 Demo
我现在要实现 PageTitleViewDelegate 这个协议,我想用 func titleView(_ titleView: PageTitleView, didSelectAt index: Int) 这个代理,
open class PageTitleView: UIView {
public weak var delegate: PageTitleViewDelegate?
}
Demo里面没有对这个代理实现的代码
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or unsubscribe.