类型的价值' UIView'没有会员' refreshControl'

时间:2017-07-20 12:44:11

标签: swift3

制作Refreshable协议

import UIKit

protocol Refreshable {
    var refreshControl: UIRefreshControl { get }

    func setUp()
}

extension Refreshable where Self: UIViewController {
    var refreshControl: UIRefreshControl {
        return UIRefreshControl()
    }

    func setUp(_ target: Any?, targetView: UIView, action: Selector, for controlEvents: UIControlEvents) {
        refreshControl.addTarget(target, action: action, for: controlEvents)
        if #available(iOS 10.0, *) {
            targetView.refreshControl = refreshControl
        } else {
            // If targetView is TableView, no need addSubView. Just set refreshControl.
            targetView.addSubview(refreshControl)
            targetView.alwaysBounceVertical = true
        }
    }
}

错误

  

类型的价值' UIView'没有会员' refreshControl'

     

类型的价值' UIView'没有会员' alwaysBounceVertical'

问题

我知道UIView没有refreshControlalwaysBounceVertical

那是什么类型的?

我可以为targetViewUITableViewUICollectionView传递UIScrollView

1 个答案:

答案 0 :(得分:0)

你将targetView施放到UIScrollViewUITableViewUIScrollView

if let view = targetView as? UIScrollView{
   view.refreshControl = refreshControl
   //Other processes
}