Как вставить представление в вид Superview? (IOS)
У меня есть строка кода ниже... Как бы я изменил ее, чтобы вставить подпредставление в представление суперпредставления с именем 'foo'?
[[self superview] addSubview:copy3];
4 ответа
Есть более 1 способа сделать это -
1. иметь IBOutlet
ссылка в вашем коде. Это создано из 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;
}
}
надеюсь, что эти методы помогут вам...
Сначала сделайте myView в свойстве суперпредставления. Затем используйте
[[[self superview] myView] addSubview:mySubview];
Сначала пометьте представление myView уникальным номером:
myView.tag = 0x1234;
Тогда вы можете найти его, используя viewWithTag:
[[[self superview] viewWithTag:0x1234] addSubview:mySubview];
Вы можете просто добавить его в "представление" вместо "superview".
[[self view] addSubview:mySubview];
Это прекрасно работает для меня, когда я добавляю подпредставления в родительское представление. Дайте мне знать, если что-то пошло не так.