如何实现点击tableviewcell点击中的一个cell,然后动态改变cell的文字

在uiview 的tableView中点击cell进入跳转到另一个界面的实现方法
作者:Root_z
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了在uiview 的tableView中点击cell进入跳转到另一个界面的实现方法,首先重写uiviewcontrol方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
1.先重写uiviewcontrol的方法
- (UIViewController *)viewController {
for (UIView* next = [self superview]; next = next.superview) {
UIResponder *nextResponder = [next nextResponder];
if ([nextResponder isKindOfClass:[UIViewController class]]) {
return (UIViewController *)nextR
2.接下来是点击cell的方法
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
qunzuDetailViewController *qc=[[qunzuDetailViewController alloc]initWithNibName:@"qunzuDetailViewController" bundle:[NSBundle mainBundle]];
[[self viewController]presentViewController:qc animated:YES completion:nil];
以上所述是小编给大家介绍的在uiview 的tableView中点击cell进入跳转到另一个界面的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具动态生成tableViewCell时,获取cell中textField的输入值的方法
&&假设自定义的cell为:
& @interface
customCell:UITableViewCell
& & UITextField
& & &NSString
& & &NSIndexPath
*pathOne=[NSIndexPath indexPathForRow:0
inSection:1];//获取cell的位置
&&customCell&*cellOne=(customCell&*)[self.tableview
cellForRowAtIndex:pathOne];//获取具体位置的cell
&testString=cell.testOne.text
这样就获得了指定位置的动态cell的内容了
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。点击UITableView的cell展开收缩
在项目中有个需求,点击表视图的单元格展开,再点击另外一个单元格或者本身又收缩,经过一段时间尝试,实现了该功能,现在记录分享总结下。
首先要理解UITableView代理方法调用的先后顺序。
当初始化UITableView后,代理回调顺序如下
& 1://返回cell个数
- (NSInteger)tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger)section
& 2://返回每行的高度
- (CGFloat)tableView:(UITableView *)tableView
heightForRowAtIndexPath:(NSIndexPath *)indexPath
& 3://请求数据元代理为tableView插入需要的cell
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
& 4://监听点击的cell
- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath
需要声明一个全局BOOL变量isOpen,记录当前cell的状态,声明一个NSInterge类型selectedIndex,记录选择的cell的row。
在heightForRowAtIndexPath代理里面实现//选中状态返回的高度
(indexPath.row == selectedIndex.row && selectedIndex != nil
if (isOpen == YES) {
&&&&&&&&&&
//cell上的label高度自适应
&&&&&&&&&&&
CGSize size = [textStr sizeWithFont:[UIFont systemFontOfSize:14]
constrainedToSize:CGSizeMake(290, 1000)
lineBreakMode:NSLineBreakByWordWrapping];
&&&&&&&&&&&
CGFloat f = size.
&&&&&&&&&&&
&&&&&&&&&&&
if (indexPath.row == [self.dataArr count]-1){
&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&
return 153.8+(f - 21);
&&&&&&&&&&&
&&&&&&&&&&&
&&&&&&&&&&&
return 155+(f - 21);
&&&&&&&&&&&
&&&&&&&&&&&
&&&&&&&&&&&
return 67;
同样在- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath里实现一样的条件
(indexPath.row == selectedIndex.row && selectedIndex !=
//如果是展开
if (isOpen == YES) {
&&&&&&&&&&&
&&&&&&&&&&&
//不是自身
&&& } else
当点击时候在- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
//将索引加到数组中
&&& NSArray
*indexPaths = [NSArray arrayWithObject:indexPath];
//判断选中不同row状态时候
(self.selectedIndex != nil && indexPath.row !=
selectedIndex.row) {
(self.selectedIndex != nil && indexPath.row ==
selectedIndex.row) {
//将选中的和所有索引都加进数组中
indexPaths = [NSArray arrayWithObjects:indexPath,selectedIndex,
isOpen = !isO
&&& }else if
(self.selectedIndex != nil && indexPath.row !=
selectedIndex.row) {
indexPaths = [NSArray arrayWithObjects:indexPath,selectedIndex,
isOpen = YES;
//记下选中的索引
self.selectedIndex = indexP
&&& //刷新
&&& [tableView
reloadRowsAtIndexPaths:indexPaths
withRowAnimation:UITableViewRowAnimationFade];
经过不断调试,终于实现了点击任意一个cell展开收缩效果
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 ios点击tableviewcell 的文章

 

随机推荐