Guest User

Untitled

a guest
Jun 18th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.40 KB | None | 0 0
  1. import UIKit
  2.  
  3. extension UIView {
  4. var superviews: UnfoldFirstSequence<UIView> {
  5. return sequence(first: self) { view in view.superview }
  6. }
  7.  
  8. func enclosingView(where predicate: (UIView) -> Bool) -> UIView? {
  9. return superviews.first(where: predicate)
  10. }
  11.  
  12. func enclosingView<T>(type: T.Type) -> T? where T: UIView {
  13. return superviews.first(where: { $0 is T }) as! T?
  14. }
  15. }
Add Comment
Please, Sign In to add comment