Просто плъзнете общ UIView в ниб в Interface Builder и задайте неговия клас на вашия потребителски подклас. Все още можете да правите всичко, което бихте могли с обикновен стар UIView, включително подизгледи с плъзгане.
Вие няма да можете да видите как всъщност изглежда персонализираният подизглед в Interface Builder; ще бъде просто сив правоъгълник. Бихте могли (мисля) да направите това в Xcode 3 с IB добавки, но поне за момента Xcode 4 не поддържа такива добавки.
РЕДАКТИРАНЕ:
За да се справите с последващите действия на OP, трябва да управлявате z-подреждането програмно. Вероятно най-лесното нещо, което можете да направите, е да оставите кода си такъв, какъвто е, но вместо да правите нещо като:
UIView *mySubview1 = ...;
UIView *mySubview2 = ...;
UIView *mysubview3 = ...;
[self addSubview:mySubview1];
[self addSubview:mySubview2];
[self addsubview:mySubview3];
(което, както отбелязахте, може да наслои подизгледите върху подизгледите на потребителя)
Направете нещо като:
UIView *container = [[UIView alloc] initWithFrame:[self bounds]];
UIView *mySubview1 = ...;
UIView *mySubview2 = ...;
UIView *mysubview3 = ...;
[container addSubview:mySubview1];
[container addSubview:mySubview2];
[container addsubview:mySubview3];
[self addSubview:container];
[self sendSubviewToBack:container];
[container release];
Можете алтернативно да използвате [self insertSubview:container atIndex:0], но мисля, че добавянето и преместването назад е малко по-ясно при бързо преглеждане на кода.
Крайният резултат е, че не е нужно да се забърквате със съществуващото z-подреждане на вашите подизгледи; като ги поставите в единичен, лесно управляван контейнер, можете да преместите цялата колекция където пожелаете в йерархията на подизгледите.
person
Conrad Shultz
schedule
09.02.2012