【问题标题】:Fetching reference to superview from UITextField?从 UITextField 获取对 superview 的引用?
【发布时间】:2010-09-11 09:25:59
【问题描述】:

我创建了三个 UIImageViews。然后,我将 UITextField 作为子视图添加到每个图像。

当用户单击文本字段时,我想捕获该文本字段属于哪个 UIImageView。我正在尝试以下代码:

-(void)textFieldDidBeginEditing : (UITextField *)textField {


textField = retainedObject;

MyPicture *capture = nil;

for (UIImageView *oneView in retainedObject.superview) {

    if ([oneView isMemberOfClass:[myPicture class]])
    capture = (UIImageView *)oneView;

}

但是,我收到一个错误,即 UIView 可能无法通过枚举响应计数。看起来文本字段的超级视图可能是 UIView 而不是 UIImageView ?有人可以帮忙解决吗?

谢谢,

马丁

【问题讨论】:

    标签: objective-c c xcode uiimageview


    【解决方案1】:

    假设UIViewsuperViewUIView。但是,您仍然可以将其转换为UIImageView,并在其上调用UIImageView 方法,但只要确保它始终是UIImageView,无一例外,否则它会崩溃。

    来源:我自己的应用程序;)

    【讨论】:

    • 谢谢 - 但我对投射到 ImageView 的意思感到困惑。 UITextField 的 superview 已经是 UIImageView 了?
    • 只要加上UIImageView *superImageView = (UIImageView *)[retainedObject superView];,就可以轻松调用对象上的所有UIImageView函数了。
    • 再次感谢 - 感谢您的帮助。我现在收到一个错误,即 UITextField(此处为 reservedObject)可能无法响应 superView?
    • 啊 - superView 应该是 superview - 让我们再试一次。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多