[iOS]寻找superView
从iOS4.5开始,我步入苹果开发,随着iOS6 /7的发布,苹果自身的UI模型做了很多修改。比如UITableView,假设tableView上有一个btn,怎么获得对应的Cell,对应TableView,开始我的做法是判断系统版本,今天发现这种处理方法很笨,假设iOS8发布,我是不是又得修改我积累的UI辅助类呢?答案是NO,所以做了一个基础的while循环,一切问题都解决,我想iOS10出来这个方法也不需要修改吧。只是抛砖引玉,过段时间,将积累下来的东西放到Git上http://www.github.com/poholo/,期待大家批评指正,一起参与写一个轻量级的iOSUI框架
/**
*@tableviewFromCell
*@time:2014-05-04
*/
+(UITableView*)tableviewFromCell:(UITableViewCell*)cell{
UIView *view = [cell superview];
int i = 0;
while (![view isKindOfClass:[UITableView class]]) {
if(i==10){
return nil;
}
view = [view superview];
i++;
}
return (UITableView*)view;
}
/**
*@method:cellFromSubView:(UIView*)view;
*@time:2014-05-04
**/
+(UITableViewCell*)cellFromSubView:(UIView*)view{
UIView *vw = [view superview];
int i = 0;
while (![vw isKindOfClass:[UITableViewCell class]]) {
if(i==10){
return nil;
}
vw = [vw superview];
i++;
}
return (UITableViewCell*)vw;
}
浙公网安备 33010602011771号