Я просто не могу заставить это работать, я думаю, это было просто, но не повезло.
- (void) animate {
UIView *viewA = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 300.0f, 100.0f)];
[viewA setBackgroundColor:[UIColor blueColor]];
UIView *viewB = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 300.0f, 100.0f)];
[viewB setBackgroundColor:[UIColor brownColor]];
UIView *container = [[UIView alloc] initWithFrame:CGRectMake(10.0f, 10.0f, 300.0f, 100.0f)];
[container addSubview:viewA];
[self.view addSubview:container];
[UIView transitionWithView:container
duration:0.4
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:^{
[[[container subviews] objectAtIndex:0] removeFromSuperview];
[container addSubview:viewB];
}
completion:^(BOOL finished){
}];
}
Вот как документация рекомендует вам это сделать, создать контейнер, добавить / удалить два подпредставления, между которыми вы хотите переключиться.
Я не могу заставить его работать. Он будет просто отображать viewA, затем viewB, как если бы часть анимации была пропущена, но блок выполняется?
Если я переключаю контейнер в [UIView transitionWithView:container
с помощью self.view
, он переворачивает весь вид (как подозревается), но я не могу заставить его сделать это с 2 подпредставлениями self.view
.
Нет ли способа обойти это?
Я хочу сделать что-то наподобие приложения для iPad Фотографии , в котором изображение будет переворачиваться и масштабироваться до полного экрана.
Я действительно надеюсь, что кто-нибудь может мне помочь, заранее спасибо.