2

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

[[self superview] addSubview:copy3];
4

4 回答 4

3

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

IBOutlet1.在您的代码中有参考。这是从 xcode Interface builder 创建的。一旦你有了这个,那么它就相当简单了 -

[iboutlet_foo_object addSubview:copy3];

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

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

3.最后,您可以遍历您的超级视图中的所有视图并查看哪个是类型Foo-

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

希望这些方法对你有帮助...

于 2012-06-08T04:43:56.473 回答
1

首先将myView变成superview的一个属性然后使用

[[[self superview] myView] addSubview:mySubview];
于 2012-06-08T17:00:09.647 回答
1

First tag the view myView with a unique number:

myView.tag = 0x1234;

Then you can find it using viewWithTag:

[[[self superview] viewWithTag:0x1234] addSubview:mySubview];
于 2012-06-08T17:02:10.720 回答
0

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

[[self view] addSubview:mySubview];

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

于 2012-06-08T23:02:51.613 回答