present和push都是需要controller才能完成跳转。
所以就有几种方法可以用:
1、把你要跳转的意图传给tableview所在的controller。可以用通知,block,代理方法,只要能把消息传出去就行。在tableview所在的controller进行跳转
2、获取cell所在的controller,在cell中进行跳转。
- (UIViewController )getSuperController{
UIViewController vc = [[UIViewController alloc]init];
for (UIView next = [self superview]; next; next = nextsuperview) {
UIResponder nextResponder = [next nextResponder];
if ([nextResponder isKindOfClass:[UIViewController class]]) {
vc = (UIViewController)nextResponder;
break;
}
}
return vc;
}
UIViewController vc = [self getSuperController];
用获得的vc进行跳转。
望采纳!
开发工作中经常遇到列表编辑多选功能,UITableView其实自带的有多选功能,使用起来方便,不需要自己做选中状态,效果:
获取多选cell的位置信息:
在 didSelectRowAtIndexPath :方法里获取并打印选中cell的位置信息:
打印结果:
数组结果里是按照选中的顺序存储的数据。
全选:
遍历一遍数据源 然后选中每一条:
全不选:
全不选,reload就可以变为全不选状态了,如果不想reload这样简单粗暴的,也可以取出当前选中的indexpath数组,遍历反选也可以。
引用文章: >
可以使用自定义的cell,然后往里面放label,为label赋tag值,通过tag值去获取label,然后获取label中的内容。
例:UILabel textLabel = [cell viewWithTag:10];
NSString text = textLabeltext;
为了实现自定义cell按钮选择问题,花了几个小时,在此记录分享一下:
平时iOS开发中,经常遇到自定义cell问题,tableView使用cell时候由于cell是复用的,所以cell中的按钮等控件也会被复用,不能直接在cell中self方式引用控件来判断对应的控件唯一性,由于tableView刷新或者重用会导致使用混乱问题,cell中使用的控件不是唯一的!!!只有在控制器中进行引用和判断才是唯一的!!!
效果图:
如图自定义cell会重用按钮:
流程如下:
1自定义cell布局按钮设置选择状态:
2设置cell大小按钮,并设置按钮的点击事件传递tag,通过代理传值给控制器
3第三个数据源方法将indexPathrow的值赋值给cell的按钮的tag
4模型添加属性记录按钮选择状态
5自定义代理方法通过tag找到对应模型,模型选择属性取反
6根据是否为选择的cell设置模型的选择属性
7获取对应数据
我已经很尽力把每步都写的够详细,不好之处,还望海涵☺️
以上就是关于ios怎么在cell present全部的内容,包括:ios怎么在cell present、iOS中UITableView的编辑状态多选、ios 得到点击cell里的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)