如何在Superview的视图中插入视图? (IOS)

时间:2012-06-08 03:21:46

标签: objective-c ios subview superview uiview-hierarchy

我有下面的代码行...如何修改它以将子视图插入superview的名为' foo'的视图中?

[[self superview] addSubview:copy3];

4 个答案:

答案 0 :(得分:3)

有多种方法可以做到这一点 -

1.在您的代码中有一个IBOutlet引用。这是从xcode Interface构建器创建的。一旦你有了这个,那么它相当直接 -

[iboutlet_foo_object addSubview:copy3];

2. tag您感兴趣的视图。再次标记视图可以从xcode Interface构建器或代码完成。在那之后 -

Foo *fooObj = [[self superview] viewWithTag:tagInt];
[fooObj addSubview:copy3];

3.最后,您可以遍历superview中的所有视图。看哪个类型为Foo -

NSArray *subviews = [[self superview] subviews];
for(UIView *v in subviews)
{
    if(v isKindOfClass:[Foo class])
    {
        [v addSubview:copy3];
        break;
    }
}

希望这些方法可以帮助你...

答案 1 :(得分:1)

首先将myView变为superview的属性 然后使用

[[[self superview] myView] addSubview:mySubview];

答案 2 :(得分:1)

首先使用唯一编号标记myView视图:

myView.tag = 0x1234;

然后你可以使用viewWithTag找到它:

[[[self superview] viewWithTag:0x1234] addSubview:mySubview];

答案 3 :(得分:0)

您可能只是将其添加到“视图”而不是“超级视图”。

[[self view] addSubview:mySubview];

每当我将子视图添加到父视图时,它对我来说都很好。 如果出现问题,请告诉我。