Getting UITableViewCell with superview in iOS 7

前端 未结 5 2024
栀梦
栀梦 2021-01-04 20:18

I\'m getting the UITableViewCell a UIButton belongs to like this:

-(void)buttonHandler:(UIButton *)button {

    OrderCell *cell = [[button superview] superv         


        
5条回答
  •  醉酒成梦
    2021-01-04 20:57

    To complete the answer of @thomas-keuleers this is the swift method:

    extension UIView {
    
        func findSuperViewWithClass(superViewClass : T.Type) -> UIView? {
    
            var xsuperView : UIView!  = self.superview!
            var foundSuperView : UIView!
    
            while (xsuperView != nil && foundSuperView == nil) {
    
                if xsuperView.self is T {
                    foundSuperView = xsuperView
                } else {
                    xsuperView = xsuperView.superview
                }
            }
            return foundSuperView
        }
    
    }
    

    and you simply call like that:

    child.findSuperViewWithClass(TableViewCell)
    

提交回复
热议问题