Swift 代理巧用技巧
import UIKit
// 1定义
protocol MyControllerDelegate: NSObject {
func inputController(inputController: IMInputController, didChangeHeight height: CGFloat)
func inputController(inputController: MInputController, didSendPlainText text: String)
func inputController(inputController: IMInputController, didSendPic path: String, imageSize size: CGSize)
}
// 2初始化命名
class MyController: UIViewController {
weak var delegate: MyControllerDelegate?
}
// 3应用
extension MyController: MyControllerDelegate {
func inputBar(_ inputBar: IMInputBar, didSendText text: String) {
delegate?.inputController(inputController: self, didSendPlainText: text)
}
func inputBar(_ inputBar: IMInputBar, didChangeInputHeight offset: CGFloat) {
delegate?.inputController(inputController: self, didChangeHeight: self.view.frame.size.height + offset)
}
}