push自定义动画
//
// ViewController.m
// ViewControllerAnimation
//
// Created by mac on 15/5/26.
// Copyright (c) 2015年 BSY. All rights reserved.
//
#import "ViewController.h"
#import "TwoViewController.h"
@interface
ViewController ()<
UINavigationControllerDelegate
,
UIViewControllerTransitioningDelegate
>
@property
(
nonatomic
,strong)TwoViewController*two;
@property
(
nonatomic
,strong)
UIViewController
*currentViewController;;
@end
@implementation
ViewController
- (
void
)viewDidLoad {
[
super
viewDidLoad];
self
.title = @
"第一页"
;
self
.view.backgroundColor = [
UIColor
grayColor];
self
.Animator = [[BSYAnimator alloc]init];
self
.TransitionAnimator = [[BSYTransitionAnimator alloc]init];
UIButton
*button = [
UIButton
buttonWithType:
UIButtonTypeCustom
];
[button setFrame:CGRectMake(100, 100, 100, 100)];
[button setTitle:@
"Push"
forState:
UIControlStateNormal
];
[button setTitleColor:[
UIColor
blackColor] forState:
UIControlStateNormal
];
[
self
.view addSubview:button];
[button addTarget:
self
action:
@selector
(buttonClick) forControlEvents:
UIControlEventTouchUpInside
];
TwoViewController *two = [[TwoViewController alloc]init];
self
.two = two;
self
.navigationController.delegate =
self
;
two.transitioningDelegate =
self
;
two.modalPresentationStyle =
UIModalPresentationCustom
;
[
self
addChildViewController:two];
self
.currentViewController = two;
}
-(
void
)buttonClick
{
[
self
.navigationController pushViewController:
self
.two animated:
YES
];
}
#pragma mark - UINavigationControllerDelegate iOS7新增的2个方法
// 动画特效
- (
id
<
UIViewControllerAnimatedTransitioning
>) navigationController:(
UINavigationController
*)navigationController animationControllerForOperation:(
UINavigationControllerOperation
)operation fromViewController:(
UIViewController
*)fromVC toViewController:(
UIViewController
*)toVC
{
if
(operation ==
UINavigationControllerOperationPush
) {
return
self
.Animator;
}
else
{
return
nil
;
}
}
#pragma mark - Transitioning Delegate (Modal)
-(
id
<
UIViewControllerAnimatedTransitioning
>)animationControllerForPresentedController:(
UIViewController
*)presented presentingController:(
UIViewController
*)presenting sourceController:(
UIViewController
*)source
{
self
.TransitionAnimator.animationType = AnimationTypePresent;
return
self
.TransitionAnimator;
}
-(
id
<
UIViewControllerAnimatedTransitioning
>)animationControllerForDismissedController:(
UIViewController
*)dismissed
{
self
.TransitionAnimator.animationType = AnimationTypeDismiss;
return
self
.TransitionAnimator;
}
@end
push自定义动画的更多相关文章
- iOS 8自定义动画转场上手指南
原文:http://www.cocoachina.com/ios/20150126/11011.html iOS 5发布的时候,苹果针对应用程序界面的设计,提出了一种全新的,革命性的方法—Storyb ...
- android 自定义动画
android自定义动画注意是继承Animation,重写里面的initialize和applyTransformation,在initialize方法做一些初始化的工作,在applyTransfor ...
- Android开发学习之路-RecyclerView的Item自定义动画及DefaultItemAnimator源码分析
这是关于RecyclerView的第二篇,说的是如何自定义Item动画,但是请注意,本文不包含动画的具体实现方法,只是告诉大家如何去自定义动画,如何去参考源代码. 我们知道,RecyclerView默 ...
- 深入学习jQuery自定义动画
× 目录 [1]属性对象 [2]可选参数 [3]选项参数 前面的话 很多情况下,前面介绍的jQuery动画的简单效果无法满足用户的各种需求,那么就需要对动画有更多的限制,需要采取一些高级的自定义动画来 ...
- 自定义动画css属性
自定义动画: 1.animation-name(自定义动画名称) 元素所应用的动画名称,必须与@keyframes使用,名称由@keyframes定义. keyframes(动画关键帧):以@keyf ...
- [UE4]CustomAnimationBlueprintNode 自定义动画蓝图节点
目的:在AnimationBlueprint中使用自定义动画控制节点. 主要过程: 1. 引用相关模块.在Client.Build.cs文件中,PublicDependencyModuleN ...
- CSS3初学篇章_6(自定义动画)
自定义动画 由于有一部分低版本的浏览器并不支持的问题,所以这个样式要多做兼容,各大浏览器兼容前缀如下: 前缀 浏览器 -webkit chrome和safari -moz firefox - ...
- Popwindow自定义动画(nexus5不支持暂未解决)
遇到一个问题,先记录一下 PopWindow自定义动画 import android.app.Activity; import android.graphics.drawable.BitmapDraw ...
- Android开发UI之自定义动画
自定义动画,需要新建一个类,继承Animation类. 重写applyTransformation()方法和initialize()方法. applyTransformation(float inte ...
随机推荐
- Pycharm的界面修改与基本设置
Pycharm的一些基本设置 设置字体大小与字体样式 首先我们打开Pycharm,点击左上角File,找到sitting 点击后就能进入设置界面 xdm,我将介绍两种更改字体的设置 方法一 设置界面找 ...
- Storm对DRPC权限控制Version1.0.1
对Storm的DRPC进行权限控制, 并且设计相应的测试验证. 1.集群安装 请参考Storm集群安装Version1.0.1 2.使用DRPC功能 请参考Storm集群使用DRPC功能Version ...
- JUC之多线程锁问题
多线程锁 8种问题锁状态: 该部分全部围绕的是以下内容并结合相应的例子:synchronized实现同步的基础:Java中每个对象都可以作为锁. 具体表现为以下三种形式:(之前只是简单的了解) 对于普 ...
- linux分区(挂载)
主分区: 最多4个扩展分区: 最多一个: 扩展分区+主分区最多4个: 不能存放数据,只能划分逻辑分区逻辑分区: 可格式化.存放数据: 分区编号只能从5开始(1.2.3.4编号为主分区或扩展分区) 所有 ...
- GoWeb之gin框架
Gin 是一个 go 写的 web 框架,具有高性能的优点.官方地址:https://github.com/gin-gonic/gin 一.快速上手 安装 go mod init go get -u ...
- JWT原理及实现
wt(JSON Web Tokens),是一种开发的行业标准 RFC 7519 ,用于安全的表示双方之间的声明.目前,jwt广泛应用在系统的用户认证方面,特别是现在前后端分离项目. 1. jwt认证流 ...
- 编写Hive的UDF(查询平台数据同时向mysql添加数据)
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6812629187518530052/ 可能会有一些截图中会有错误提示,是因为本地的包一直包下载有问题,截完图已经下 ...
- Word2010制作个人名片
原文链接: https://www.toutiao.com/i6488858441698771470/ 页面设置: 选择"页面布局"选项卡,"页面设置"功能组, ...
- mongodb基础整理篇————简单介绍[一]
前言 简单介绍一下文档数据库. 正文 mongodb 是一个以json为数据模型的文档数据库. 这里要介绍一下什么是json.因为有些人认为'{a:1,b:2}' 是json,而"this ...
- Centos安装与配置
一.安装 默认安装 二.配置 配置网卡 BOOTPROTO=none ONBOOT=yes IPADDR=xxx.xxx.x.xx PREFIX=24 GATEWAY=xxx.xxx.x.x DNS1 ...