ios 获取按钮所在的cell对象, 注意:ios8 ios7 获取cell对象的区别

ios7 :

ios7 下 button.superview.superview .superview 是获取按钮所在的cell

 NSLog(@"2: cell ---- %@", button.superview.superview.superview);

2014-10-07 10:23:55.583 NeiHanShe[1407:60b] 2: cell ---- <RadioCell:
0x155849d0; baseClass = UITableViewCell; frame = (0 0; 320 70); autoresize = W; layer = <CALayer: 0x1552af80>>

ios7 下 button.superview.superview 是获取的不是cell对象

 NSLog(@"2: cell ---- %@", button.superview.superview);

2014-10-07 10:22:37.993 NeiHanShe[1396:60b] 2: cell ---- <UITableViewCellScrollView:
0x17d2d2e0; frame = (0 0; 320 70); autoresize = W+H; gestureRecognizers = <NSArray: 0x17d2d200>; layer = <CALayer:

 ios8 :

 ios8下button.superview.superview.superview 获取的是UITableViewWrapperView对象, 所以点击不同cell 但获取的内存相等, 这里就会出问题

 NSLog(@"2: cell ---- %@", button.superview.superview.superview

2014-10-07 10:27:07.903 NeiHanShe[2791:1186272] 2: cell ---- <UITableViewWrapperView:
0x1663bbf0; frame = (0 0; 320 528); gestureRecognizers = <NSArray: 0x1663bb10>; layer = <CALayer: 0x1663bbc0>; contentOffset: {0, 0}; contentSize: {320, 528}>

2014-10-07 10:27:09.617 NeiHanShe[2791:1186272] 2: cell ---- <UITableViewWrapperView:
0x1663bbf0; frame = (0 0; 320 528); gestureRecognizers = <NSArray: 0x1663bb10>; layer = <CALayer: 0x1663bbc0>; contentOffset: {0, 0}; contentSize: {320, 528}>

ios8 下 button.superview.superview 才是获取按钮所在的cell

 NSLog(@"2: cell ---- %@", button.superview.superview);

2014-10-07 10:20:50.813 NeiHanShe[2775:1184682] 2: cell ---- <RadioCell:
0x16ed6a30; baseClass = UITableViewCell; frame = (0 0; 320 70); autoresize = W; layer = <CALayer: 0x16ea5fc0>>

2014-10-07 10:20:52.321 NeiHanShe[2775:1184682] 2: cell ---- <RadioCell:
0x16ed6b44; baseClass = UITableViewCell; frame = (0 0; 320 70); autoresize = W; layer = <CALayer: 0x16ea5fc0>>

时间: 2024-10-23 19:25:57

ios 获取按钮所在的cell对象, 注意:ios8 ios7 获取cell对象的区别的相关文章

ios8 ios7 tableview cell 分割线左对齐

ios8中左对齐代码 //加入如下代码 -(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{ if ([tableView respondsToSelector:@selector(setSeparatorInset:)]) { [tableView setSeparatorInset:UIEdgeI

ios 获取button所在的cell对象, 注意:ios7 =&amp;lt; System Version &amp;lt; ios8 获取cell对象的差别

ios7 =< System Version< ios8 : ios7 =< System Version < ios8  下 button.superview.superview .superview 是获取按钮所在的cell  NSLog(@"2: cell ---- %@", button.superview.superview.superview); 2014-10-07 10:23:55.583 NeiHanShe[1407:60b] 2: cell

iOS:UIButton按钮的详解

UIButton的详细介绍: 一.按钮具有的属性: @property(nonatomic,readonly) UIButtonType buttonType;  //按钮形状类型 @property(nonatomic,readonly,retain) NSString *currentTitle;    //按钮当前文字 @property(nonatomic,readonly,retain) UIColor  *currentTitleColor;     //按钮当前文字颜色 @prop

如何得到自定义UITableViewCell中的按钮所在的cell的indexPath.row

在自定义UITableViewCell中创建了一个按钮. 想在点击该按钮时知道该按钮所在的cell在TableView中的行数.就是cell的 indexPath.row 两种方法都很好.-(IBAction):(id)sender{    NSLog(@"MyRow:%d",[self.table indexPathForCell:((TableViewCell*)[[sender   superview]superview])].row); //这个方便一点点,不用设置tag.  

IOS第八天(7:UITableViewController新浪微博,cell 复用的简单写法优化和cell高度从模型中获取)

*********** #import "HMViewController.h" #import "HMStatus.h" #import "HMStatusCell.h" #import "HMStatusFrame.h" @interface HMViewController () /** 保存statusFrame模型的数组 */ @property (nonatomic, strong) NSArray *status

iOS 为自定义tableView添加button点击事件后获取其序号

在自定义tableView中,为cell添加button点击事件后,如何获取其对应的序号? 1.创建tableView: 先创建一个成员变量: @interface MyCameraViewController ()<UITableViewDelegate,UITableViewDataSource> { UITableView *_tableView; }@end 在viewDidLoad中初始化 _tableView = [[UITableView alloc] initWithFrame

Environment类,获取程序所在机器信息

一.属性 CommandLine  获取该进程的命令行.CurrentDirectory 获取或设置当前工作目录的完全限定路径.ExitCode 获取或设置进程的退出代码.HasShutdownStarted 获取一个值,该值指示公共语言运行时 (CLR) 是否正在关闭.Is64BitOperatingSystem  确定当前操作系统是否为 64 位操作系统.Is64BitProcess 确定当前进程是否为 64 位进程.MachineName  获取此本地计算机的 NetBIOS 名称.New

Android自定义工具类获取按钮并绑定事件(利用暴力反射和注解)

Android中为按钮绑定事件的有几种常见方式,你可以在布局文件中为按钮设置id,然后在MainActivity中通过findViewById方法获取按钮对象实例,再通过setOnClickListener为按钮绑定事件,如下所示: //1.获取控件 btn = (Button)findViewById(R.id.button1); //2.绑定事件 btn.setOnClickListener(new OnClickListener() { @Override public void onCl

iOS UIButton按钮

系统字体 + ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]]; NSArray *fontNames; NSInteger indFamily, indFont; for (indFamily=0; indFamily<[familyNames count]; ++indFamily) {     NSLog(@"Fa