iOS — Просмотр переходов

Использование переходов просмотра

Переходы представлений — эффективные способы добавления одного представления к другому представлению с правильным эффектом анимации перехода.

Обновите ViewController.xib следующим образом —

Учебник iOS

Создайте действия для кнопок, которые созданы в xib.

Обновите ViewController.h

Объявите два экземпляра представления в классе ViewController. ViewController.h файл будет выглядеть следующим образом после создания действия —

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController {
   UIView *view1;
   UIView *view2;
}

-(IBAction)flipFromLeft:(id)sender;
-(IBAction)flipFromRight:(id)sender;
-(IBAction)flipFromTop:(id)sender;
-(IBAction)flipFromBottom:(id)sender;
-(IBAction)curlUp:(id)sender;
-(IBAction)curlDown:(id)sender;
-(IBAction)dissolve:(id)sender;
-(IBAction)noTransition:(id)sender;

@end

Обновите ViewController.m

Мы добавим собственный метод setUpView для инициализации представлений. Мы также создаем еще один метод doTransitionWithType: который создает переход от view1 к view2 или наоборот. Затем мы реализуем методы действия, которые мы создали перед вызовом метода doTransitionWithType: с типом перехода. Обновленный ViewController.m выглядит следующим образом —

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
   [super viewDidLoad];
   [self setUpView];
   // Do any additional setup after loading the view, typically from a nib.
}

-(void)setUpView {
   view1 = [[UIView alloc]initWithFrame:self.view.frame];
   view1.backgroundColor = [UIColor lightTextColor];
   view2 = [[UIView alloc]initWithFrame:self.view.frame];
   view2.backgroundColor = [UIColor orangeColor];
   [self.view addSubview:view1];
   [self.view sendSubviewToBack:view1];
}

-(void)doTransitionWithType:(UIViewAnimationTransition)animationTransitionType {
   if ([[self.view subviews] containsObject:view2 ]) {
      [UIView transitionFromView:view2
      toView:view1
      duration:2
      options:animationTransitionType
      completion:^(BOOL finished) {
         [view2 removeFromSuperview];
      }];
      [self.view addSubview:view1];
      [self.view sendSubviewToBack:view1];
   } else {
      [UIView transitionFromView:view1
      toView:view2
      duration:2
      options:animationTransitionType
      completion:^(BOOL finished) {
         [view1 removeFromSuperview];
      }];
      [self.view addSubview:view2];
      [self.view sendSubviewToBack:view2];
   }
}

-(IBAction)flipFromLeft:(id)sender {
   [self doTransitionWithType:UIViewAnimationOptionTransitionFlipFromLeft];
}

-(IBAction)flipFromRight:(id)sender {
   [self doTransitionWithType:UIViewAnimationOptionTransitionFlipFromRight];
}

-(IBAction)flipFromTop:(id)sender {
   [self doTransitionWithType:UIViewAnimationOptionTransitionFlipFromTop];
}

-(IBAction)flipFromBottom:(id)sender {
   [self doTransitionWithType:UIViewAnimationOptionTransitionFlipFromBottom];
}

-(IBAction)curlUp:(id)sender {
   [self doTransitionWithType:UIViewAnimationOptionTransitionCurlUp];
}

-(IBAction)curlDown:(id)sender {
   [self doTransitionWithType:UIViewAnimationOptionTransitionCurlDown];
}

-(IBAction)dissolve:(id)sender {
   [self doTransitionWithType:UIViewAnimationOptionTransitionCrossDissolve];
}

-(IBAction)noTransition:(id)sender{
   [self doTransitionWithType:UIViewAnimationOptionTransitionNone];
}

- (void)didReceiveMemoryWarning {
   [super didReceiveMemoryWarning];
   // Dispose of any resources that can be recreated.
}
@end

Вывод

Когда мы запустим приложение, мы получим следующий вывод —

Учебник iOS

Вы можете выбрать разные кнопки, чтобы увидеть, как работает переход. При выборе локона переход будет следующим —

Учебник iOS

Выберите поля, которые будут показаны. Прочие будут скрыты. Перктаскивайте мышкой для изменения порядка полей.
  • Изображение
  • SKU
  • Рейтинг
  • Цена
  • Запасы
  • Доступность
  • В корзину
  • Описание
  • Содержимое
  • Вес
  • Размеры
  • Дополнительная информация
  • Атрибуты
  • Custom attributes
  • Настраиваемые поля
Сравнить
Список желаний 0
Открыть страницу желаний Продолжить покупки