Содержание не изменяется правильно на UIView - PullRequest
0 голосов
/ 08 ноября 2011

Ниже мой код:

SecondView *sview=[[SecondView alloc] init];
        [self.view addSubview:[sview view]];
        sview.view.layer.cornerRadius=20;
        CGRect rect=sview.view.frame;
        CGRect bound=sview.view.bounds;
        [sview.view setFrame:CGRectMake(rect.origin.x, btn.frame.origin.y, rect.size.width, 0)];
        [sview.view setBounds:CGRectMake(0, 0, bound.size.width, 0)];
        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:1];
        [sview.view setFrame:CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height)];
        [sview.view setBounds:CGRectMake(0, 0, bound.size.width, bound.size.height)];
        [sview.view setTag:10];
        [UIView commitAnimations];

Я пытаюсь расширить подпредставление от невидимого до видимого. Другими словами, я хочу расширить представление от одной строки до блока. Представление очень простое, которое я создаю из IB. На нем есть несколько кнопок. Когда код запускается, само представление работает хорошо. Однако кнопки работают неправильно. Кнопки перемещаются в вид снаружи. Я хочу, чтобы кнопка не двигалась. Скорее они должны расширяться как представление.

Кто-нибудь мне поможет?

С наилучшими пожеланиями,

1 Ответ

0 голосов
/ 08 ноября 2011

Вы только анимируете рамку и границы представления, все подпредставления не анимированы с этим кодом. Попробуйте использовать масштабную анимацию, например

sview.view.transform = CGAffineTransformMakeScale(0.01, 0.01);

[UIView beginAnimations:@"animations" context:NULL];

sview.view.transform = CGAffineTransformMakeScale(1.0, 1.0);

[UIView commitAnimations];

Это должно сначала сузить ваш вид и все его подпредставления до точки, а затем расширить ее в анимации до исходного размера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...