1. 取消collectionView头视图重叠情况:以下两种情况效果一样 但是有一点点bug 每次remove之后 需要把视图刷到上面才会显示(后续会改进方法)
for (UIView *view in headerView.subviews) { [view removeFromSuperview]; }
[view.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
2. 获取视图的viewController 和 UINavigationController
- (UINavigationController*)viewController { for (UIView* next = [self superview]; next; next = next.superview) { UIResponder* nextResponder = [next nextResponder]; if ([nextResponder isKindOfClass:[UINavigationController class]]) { return (UINavigationController*)nextResponder; } } return nil; } - (UIViewController*)viewControllerSelf{ for (UIView* next = [self superview]; next; next = next.superview) { UIResponder* nextResponder = [next nextResponder]; if ([nextResponder isKindOfClass:[UINavigationController class]]) { return (UIViewController*)nextResponder; } } return nil; }
原文:http://www.cnblogs.com/Evelyn-zn/p/5058301.html