首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问子类Superview?

访问子类Superview?
EN

Stack Overflow用户
提问于 2012-11-22 04:06:35
回答 1查看 206关注 0票数 0

我有一个由我自己的自定义UITableViewCell组成的UITableView,它的子类是CustomCell。我向该单元格添加了一个UITextField,然后一个方法在某些事件上运行(从文本字段)。

当此方法运行时,我需要访问文本字段是其子视图的CustomCell

所以我想,如何访问文本字段的父视图( CustomCell)?

我已经尝试过了,获得文本字段,方法的发送者,然后从那里获得它的superview。

代码语言:javascript
复制
CustomTextField *textField = sender;
    CustomCell *cell = (CustomCell *)[textField superview];

但是这失败了,当我试图访问我手机的一个属性时,应用程序崩溃了,我在控制台中得到了这个信息:[UIView myLabel]: unrecognized selector sent to instance。(myLabel是我试图在单元格上访问的属性。)

为什么这不起作用,或者有其他方法可以访问该单元?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-22 04:16:19

您不应该将视图添加为UITableViewCell的直接子视图。相反,您应该将它们添加为单元格contentView的子视图。如果您在xib中布局您的单元,Interface Builder将自动为您处理此问题。因此,一般来说,您不应该期望单元格是文本字段的直接superview。

我会用以下两种方式之一来处理:

  1. CustomTextField提供了一个引用其包含的CustomCell的弱属性。然后,您可以向文本字段请求其单元格。如果您正在使用xib,请将该属性设置为IBOutlet,并将其挂接到xib中。如果在代码中创建单元格,请在创建单元格和文本字段时在代码中设置该属性。
  2. 在视图层次结构中查找CustomCell祖先。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13501202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档