根据点击头像的手势获取自定义Cell 的属性, UITableViewCell, 头像, iOS
2014-11-27 13:03
645 查看
//cell.otherID 是自定义 cell 属性
- (void)headImageViewClick:(UITapGestureRecognizer *)tap
{
//1, 通过获取所点击 cell 的属性获取 id 这种最靠谱
MsgCell *cell = (MsgCell *) [[tap.view.superviewsuperview]superview];
[self creatUserDetailViewWithID:cell.otherID];
//2, 通过 tap 手势获取 tag 获取, 但是tag 的 int 长度限制, 字段增加的话就不能用了
//
cell.headImageView.tag = [cell.otherID integerValue];
// [self creatUserDetailViewWithID:[NSString stringWithFormat:@"%d",tap.view.tag]];
}
使用 lldb 工具打印:
1,
tap.view获取当前点击的cell的详情
(lldb) po tap.view
<UIImageView: 0xbf1d140; frame = (10 30; 40 40); clipsToBounds = YES; opaque = NO; gestureRecognizers = <NSArray: 0xbf1d360>; layer = <CALayer: 0xbf1d1c0>>
2, tap.view.superview
: 再次获取到的是 cellContentView
(lldb) po tap.view.superview
<UITableViewCellContentView: 0xbf1cc90; frame = (0 0; 320 378); gestureRecognizers = <NSArray: 0xbf1cea0>; layer = <CALayer: 0xbf1cd00>>
3,(lldb) po [tap.view.superview superview] :
<UITableViewCellScrollView: 0xbf1c820; frame = (0 0; 320 378); autoresize = W+H; gestureRecognizers = <NSArray: 0xbf1caa0>; layer = <CALayer: 0xbf1c9f0>; contentOffset: {0, 0}>
4,(lldb)po [[tap.view.superview superview] superview] 这样才能取出 cell 的属性
<MsgCell: 0xbf1c610; baseClass = UITableViewCell; frame = (0 602; 320 378); autoresize = W; layer = <CALayer: 0xbf1c7f0>>
- (void)headImageViewClick:(UITapGestureRecognizer *)tap
{
//1, 通过获取所点击 cell 的属性获取 id 这种最靠谱
MsgCell *cell = (MsgCell *) [[tap.view.superviewsuperview]superview];
[self creatUserDetailViewWithID:cell.otherID];
//2, 通过 tap 手势获取 tag 获取, 但是tag 的 int 长度限制, 字段增加的话就不能用了
//
cell.headImageView.tag = [cell.otherID integerValue];
// [self creatUserDetailViewWithID:[NSString stringWithFormat:@"%d",tap.view.tag]];
}
使用 lldb 工具打印:
1,
tap.view获取当前点击的cell的详情
(lldb) po tap.view
<UIImageView: 0xbf1d140; frame = (10 30; 40 40); clipsToBounds = YES; opaque = NO; gestureRecognizers = <NSArray: 0xbf1d360>; layer = <CALayer: 0xbf1d1c0>>
2, tap.view.superview
: 再次获取到的是 cellContentView
(lldb) po tap.view.superview
<UITableViewCellContentView: 0xbf1cc90; frame = (0 0; 320 378); gestureRecognizers = <NSArray: 0xbf1cea0>; layer = <CALayer: 0xbf1cd00>>
3,(lldb) po [tap.view.superview superview] :
<UITableViewCellScrollView: 0xbf1c820; frame = (0 0; 320 378); autoresize = W+H; gestureRecognizers = <NSArray: 0xbf1caa0>; layer = <CALayer: 0xbf1c9f0>; contentOffset: {0, 0}>
4,(lldb)po [[tap.view.superview superview] superview] 这样才能取出 cell 的属性
<MsgCell: 0xbf1c610; baseClass = UITableViewCell; frame = (0 602; 320 378); autoresize = W; layer = <CALayer: 0xbf1c7f0>>
相关文章推荐
- UITableView获取cell的row值(解决自定义cell里的button通过点击无法获得cell的indexpath的问题)
- iOS中如何通过点击UITableViewCell中的Button来获取当前Cell的indexPath
- 解决点击UITableViewCell时和自定义添加的手势冲突的问题
- iOS开发 获取相应自定义cell里控件的点击方法
- js 点击a标签 获取a的自定义属性
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- UITableView获取cell的row值(解决自定义cell里的button通过点击无法获得cell的indexpath的问题)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS手势识别的详细使用拖动,缩放,旋转,点击,手势依赖,自定义手势
- iOS开发:自定义UITableViewCell
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- [IOS]用自定义的cell来创建UITableView
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)