在table里边的cell上面添加了button cell,如何确定点击的是哪一行

点击tableview中的某一行cell跳转到webview,webview怎样获取到被点击的cell中的网址并加载呢?_问答_ThinkSAAS
点击tableview中的某一行cell跳转到webview,webview怎样获取到被点击的cell中的网址并加载呢?
点击tableview中的某一行cell跳转到webview,webview怎样获取到被点击的cell中的网址并加载呢?
点击tableviewcell跳转到uiwebview,uiwebview怎样获取到被点击的当前cell的网址并加载呢?
问题看得不是太明白,我假设你是点击TableView的一行跳转到该行对应的URL,并通过WebView展示;
那么最简单的思路,首先在- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath中通过IndexPath获取对应Cell和值,然后创建一个控制器和对应的UIWebView并赋值,最后通过[self presentViewController:animated:completion:]展示UIWebView,最简单的就是这样,供参考.
MUViewController的viewDidLoad方法在你属性传值之前就已经调用了(即在pushViewController:animated:方法之前viewDidLoad已经调用),所以导致了以上问题。
遇到这种问题简单处理就把[self initWithWebView];放到viewWillAppear:方法中,这样在push之后webView才会加载。
或者实现一个包含loadRequest:的方法,在push前调用。
补,我在把[self initWithWebView];放到viewWillAppear:方法后,偶尔会出现push动画卡顿。
请批评指正
添加你想要问的问题
PHP开发框架
开发工具/编程工具
服务器环境
ThinkSAAS商业授权:
ThinkSAAS为用户提供有偿个性定制开发服务
ThinkSAAS将为商业授权用户提供二次开发指导和技术支持
官方1群:【已满】
让ThinkSAAS更好,把建议拿来。主题 : 在table里边的cell上面添加了button,如何确定点击的是哪一行?
级别: 侠客
UID: 39947
可可豆: 974 CB
威望: 994 点
在线时间: 457(时)
发自: Web Page
来源于&&分类
在table里边的cell上面添加了button,如何确定点击的是哪一行?&&&
我在table里边的cell上面添加了button,[[cell contentView] addSubview:downbtn];然后,我点击这个button的时候,不是点击cell的时候,如何知道点击的是哪一行呢?我需要得到&&当前点击的哪一行的[indexPath row]不是 didSelectRowAtIndexPath ,而是在cell里边自定义的button
级别: 侠客
UID: 338944
可可豆: 1498 CB
威望: 897 点
在线时间: 538(时)
发自: Web Page
-(void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath
级别: 侠客
UID: 363542
可可豆: 209 CB
威望: 183 点
在线时间: 332(时)
发自: Web Page
button.tag=indexPath row
级别: 骑士
UID: 159156
可可豆: 1181 CB
威望: 929 点
在线时间: 574(时)
发自: Web Page
通过寻找 button 的 supperView,得到 UITableViewCell 对象,从而获取到 indexPath,这样就可以区分了;如果是在UITableViewCell 里面定义的Button,则可以通过delegate;设置button的tag在此处是不可取的,cell的重用机制,删除插入cell都可以使 indexPath 发生变化,而 tableView没有刷新,button的tag 可能就不准确了
We Can Manage!
级别: 新手上路
可可豆: 98 CB
威望: 78 点
在线时间: 92(时)
发自: Web Page
设button.tag =indexpath.绑定方法区分button
关注本帖(如果有新回复会站内信通知您)
个人IDP证书一年费用? 正确答案:99美金
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版iOS 在tableView上添加button导致按钮没有点击效果和不能滑动的
今天在写代码的时候,在tableviewcell上添加button,发现button
转载请注明出处。
今天在调试代码的时候,在tableviewcell上添加button,发现button快速点击的话,是看不出点击效果的,查找资料发现,
&ios7上UITableViewCell子层容器是UITableViewCellScrollView,
ios6的则是UITableViewCellContentView.点击效果应该是被ScrollView的触摸延迟给阻拦了。
经过一番摸索,终于找到解决方法。
第一步:将&tableView &的&delaysContentTouches 设置为NO,
第二步:在自定义cell的初始化方法里添加如下代码
for (id obj in self.subviews)
if ([NSStringFromClass([obj class]) isEqualToString:@&UITableViewCellScrollView&])
UIScrollView *scroll = (UIScrollView *)
scroll.delaysContentTouches =NO;
以上2步可以解决按钮没有点击效果的问题,但之后发现,如果滑动tableView的时候,触碰区域正好在按钮上的话,是滑动不了的。
这个时候就得
- (BOOL)touchesShouldCancelInContentView:(UIView *)view
return YES;
本来以上方法在ios7以下可以解决,因为公司要适配ios8,当切换ios8的时候,发现又没有点击效果了,于是又查找一番.
第四步:在自定义的tableView初始化方法里添加如下代码
for (id view in self.subviews)
// looking for a UITableViewWrapperView
if ([NSStringFromClass([view class]) isEqualToString:@&UITableViewWrapperView&])
if([view isKindOfClass:[UIScrollView class]])
// turn OFF delaysContentTouches in the hidden subview
UIScrollView *scroll = (UIScrollView *)
scroll.delaysContentTouches = NO;
或者第四步改成 在你的viewController添加tableview的时候,加上以下代码
if ([UIDevice currentDevice].systemVersion.intValue &= 8) {
for (UIView *currentView in table.subviews) {
if ([currentView isKindOfClass:[UIScrollView class]]) {
((UIScrollView *)currentView).delaysContentTouches = NO;
版权声明:本文为博主原创文章,未经博主允许不得转载。
你最喜欢的为什么我在table view cell中添加的按钮不显示
[问题点数:100分,结帖人yuanhuachao89]
为什么我在table view cell中添加的按钮不显示
[问题点数:100分,结帖人yuanhuachao89]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。

我要回帖

更多关于 自定义cell上的button 的文章

 

随机推荐