Я просто не могу заставить это работать, я думаю, это было просто, но не повезло.Невозможно перевернуть subviews viewControllers.view с помощью "transitionWithView", используя блок
- (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 Фотографии приложение, где изображение будет переворачиваться и масштабироваться до полного экрана.
Я действительно надеюсь, что кто-то может помочь мне здесь, спасибо заранее.
Да, это так! точка с запятой. Это не было ясно из документов. Спасибо, Ники! – RickiG
Добро пожаловать. В первый раз, когда я наткнулся на это, я довольно долго бился, прежде чем узнал о запятых. Рад, что я мог избавить вас от этой же муки. : D – Nicki
Вы уверены, что были точки с запятой? Я использую их в данный момент точно таким же способом, а также в примере с Яблоком в документации они используют точки с запятой, и все работает отлично. – Pascal