我有下面的代码行...如何修改它以将子视图插入superview的名为' foo'的视图中?
[[self superview] addSubview:copy3];
答案 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];
每当我将子视图添加到父视图时,它对我来说都很好。 如果出现问题,请告诉我。