Вы можете наложить столько просмотров (скрытых или других), сколько хотите, на UIScrollView (т. Е. Все они будут прокручиваться и масштабироваться).
Вопрос в том, хотите ли вы, чтобы ваш второй вид был масштабирован в 1.0, когда первый вид масштабируется на 0,5? Вероятно, вы можете достичь этого, установив преобразование для второго представления с помощью масштабирования 2x. Затем поймайте событие масштабирования (извините, у вас нет точного имени), и если масштаб снижается до 0,5 или ниже, скройте первое представление и покажите второе (и наоборот, наоборот, наоборот) ,
[править]
Для масштабирования второй вид вы могли бы сделать что-то вроде этого только один раз при установке его:
view2.alpha = 0;
[view2 setTransform:CGAffineTransformMakeScale(2, 2)];
Позже переопределить событие масштабирования:
-(void) scrollViewDidEndZooming: (UIScrollView*) scrollView
withView: (UIView*) view
atScale: (float) scale
{
if(scale <= 0.5 and prevScale > 0.5)
{
view1.alpha = 0;
view2.alpha = 1;
}
else
{
view1.alpha = 1;
view2.alpha = 0;
}
prevScale = scale;
}
Конечно, все обычные оговорки о непроверенных кодах применяются.
Спасибо. Как я могу преобразовать второй вид, в то время как первое представление масштабируется? И как второй взгляд будет обрабатывать жесты или развернуть жесты? – domlao
Я не рядом с моим Mac, поэтому не могу дать вам точный код, но вы можете установить свойство преобразования представления на аффинное преобразование 2x-масштабирования и просто держать его таким же образом все время. В принципе, второй вид просто будет скрыт, пока вам не понадобится его переключать. – philsquared
Большое спасибо. Если я переключусь на второй вид, могу ли я сделать щепотку или развернуть жест с этим вторым видом? – domlao