transitionFromView方法的使用

效果

源码

//
// ViewController.m
// TransitionFromView
//
// Created by YouXianMing on 16/5/30.
// Copyright © 2016年 YouXianMing. All rights reserved.
// #import "ViewController.h" typedef enum : NSUInteger { kBottomView = ,
kTopView, } EViewControllerTag; @interface ViewController () { UIView *redView;
UIView *yellowView;
UIView *containerView;
} @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // ContainerView
containerView = [[UIView alloc] initWithFrame:CGRectMake(, , , )];
containerView.center = self.view.center;
[self.view addSubview:containerView]; // BottomView
redView = [[UIView alloc] initWithFrame:containerView.bounds];
redView.tag = kBottomView;
redView.backgroundColor = [UIColor redColor];
[containerView addSubview:redView]; // TopView
yellowView = [[UIView alloc] initWithFrame:containerView.bounds];
yellowView.tag = kTopView;
yellowView.backgroundColor = [UIColor yellowColor];
[containerView addSubview:yellowView]; // Button
UIButton *button = [[UIButton alloc] initWithFrame:self.view.bounds];
[button addTarget:self action:@selector(buttonEvent:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
} - (void)buttonEvent:(UIButton *)button { button.enabled = NO; [UIView transitionFromView:[containerView viewWithTag:kTopView]
toView:[containerView viewWithTag:kBottomView]
duration:0.5f
options:UIViewAnimationOptionTransitionFlipFromLeft
completion:^(BOOL finished) { button.enabled = YES; if ([[containerView viewWithTag:kBottomView] isEqual:redView]) { [containerView insertSubview:yellowView belowSubview:redView];
redView.tag = kTopView;
yellowView.tag = kBottomView; } else { [containerView insertSubview:redView belowSubview:yellowView];
redView.tag = kBottomView;
yellowView.tag = kTopView;
}
}];
} @end

细节

transitionFromView方法的使用的更多相关文章

  1. UIView 的transitionFromView方法实现视图切换

    #import "ViewController.h" @interface ViewController () @property (strong, nonatomic) IBOu ...

  2. iOS UIKit:animation

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css); @import url(/ ...

  3. javaSE27天复习总结

    JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5) ...

  4. UIView属性及方法

    @property(nonatomic) CGFloat alpha //设置视图的透明度 //透明度的设置从最小0.0到1.0 ,1.0为完全不透明, //其中这个属性只影响当前视图,并不会影响其子 ...

  5. iOS开发UUIView动画方法总结

    #动画设置 UIView动画实现 @interface ViewController () @property (weak, nonatomic) IBOutlet UIView *myView; @ ...

  6. UIView封装动画--iOS利用系统提供方法来做转场动画

    UIView封装动画--iOS利用系统提供方法来做转场动画 UIViewAnimationOptions option; if (isNext) { option=UIViewAnimationOpt ...

  7. mapreduce多文件输出的两方法

    mapreduce多文件输出的两方法   package duogemap;   import java.io.IOException;   import org.apache.hadoop.conf ...

  8. 【.net 深呼吸】细说CodeDom(6):方法参数

    本文老周就给大伙伴们介绍一下方法参数代码的生成. 在开始之前,先补充一下上一篇烂文的内容.在上一篇文章中,老周检讨了 MemberAttributes 枚举的用法,老周此前误以为该枚举不能进行按位操作 ...

  9. IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法

    直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...

随机推荐

  1. java 标准异常

    一.Throwable这个Java类被用来表示任何可以作为异常被抛出的类.Throwable对象可分为两种类型(从Throwable继承而得到的类型): 1.) Error用来表示编译时和系统错误 2 ...

  2. linux 命令点滴记录(centos)

    2016年5月26日:创建root用户 [lx@localhost ~]$ su root Password: [root@localhost lx]# 帐号:root ;密码:输入的Password ...

  3. android:怎么实现一个控件与另一个指定控件左对齐

    https://segmentfault.com/q/1010000003905460?_ea=425861 针对你这种情况,最简单的一种办法是,设置两个TextView的宽度为固定值,且相等. Li ...

  4. Codeforces 466E Information Graph

    Information Graph 把询问离线之后就能随便搞了, 去check一下是不是祖先, 可以用倍增也能用dfs序. #include<bits/stdc++.h> #define ...

  5. js判断设备是都是pc端

    function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = new Array("Android" ...

  6. 006.FTP用户访问控制配置

    一 FTP控制文件 1.1 文件说明 /etc/vsftpd/ftpusers:黑名单,优先级高 #通常不修改此文件 /etc/vsftpd/user_list:黑名单,优先级相对低 注意:Linux ...

  7. 001.SMB简介

    一 简介 samba基于NetBIOS协议开发,能和windows通信,但只能在局域网通信. 二 Samba主要应用 文件共享 打印服务器 Samba登录时身份验证 进行windows主机名解析 三 ...

  8. linux学习笔记-3.文件相关命令

    1.进入到用户根目录 cd ~ 或者 cdcd ~hadoop回到原来路径cd - 2.查看文件详情 stat a.txt 3.移动 mv a.txt /ect/改名mv b.txt a.txt移动并 ...

  9. MySQL CPU %sys 高的案例分析(三)

    [现象] 最近有台服务器晚上CPU告警,系统抓取的故障期间的snapshot显示CPU %sys较高,同时context switch在300K以上. 是否过高的context switch引起的%s ...

  10. hdu 3853 概率dp

    题意:在一个R*C的迷宫里,一个人在最左上角,出口在右下角,在每个格子上,该人有几率向下,向右或者不动,求到出口的期望 现在对概率dp有了更清楚的认识了 设dp[i][j]表示(i,j)到(R,C)需 ...