`
yangping_Account
  • 浏览: 192830 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

自定义NavgationController动画

 
阅读更多
只要把这两个方法作为UINavigationController的Category方法调用就可以了

//  UINavigationController+UINavigationController.h
//  xxx
//
//  Created by yangping fang on 11-10-14.
//  Copyright (c) 2011年 EmatChina. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface UINavigationController (UINavigationController){

    
}
- (void)pushAnimationDidStop;
- (void)pushViewController: (UIViewController*)controller animatedWithTransition: (UIViewAnimationTransition)transition;
- (UIViewController*)popViewControllerAnimatedWithTransition:(UIViewAnimationTransition)transition;
@end
 
//
//  UINavigationController+UINavigationController.m
//  xxx
//
//  Created by yangping fang on 11-10-14.
//  Copyright (c) 2011年 EmatChina. All rights reserved.
//

#import "UINavigationController+UINavigationController.h"

@implementation UINavigationController (UINavigationController)

- (void)pushAnimationDidStop{

}
- (void)pushViewController: (UIViewController*)controller
    animatedWithTransition: (UIViewAnimationTransition)transition {
    [self pushViewController:controller animated:NO];
    
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.5];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationDidStopSelector:@selector(pushAnimationDidStop)];
    [UIView setAnimationTransition:transition forView:self.view cache:YES];
    [UIView commitAnimations];
    
}

- (UIViewController*)popViewControllerAnimatedWithTransition:(UIViewAnimationTransition)transition {
    UIViewController* poppedController = [self popViewControllerAnimated:NO];
    
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.5];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationDidStopSelector:@selector(pushAnimationDidStop)];
    [UIView setAnimationTransition:transition forView:self.view cache:NO];
    [UIView commitAnimations];
    
    return poppedController;
}
@end
 
分享到:
评论

相关推荐

    自定义带动画的录音功能

    总之,自定义的录音功能结合动画效果,不仅提升了用户体验,也展示了Android开发中的音视频处理和动画设计能力。通过熟练运用MediaRecorder和MediaPlayer,以及灵活的动画框架,开发者可以创建出富有创新性的录音...

    1.11 自定义过渡动画

    在Android开发中,自定义过渡动画是提升用户体验和增加应用独特性的重要手段。"1.11 自定义过渡动画"这个主题主要涵盖了Activity切换和Fragment切换时如何利用Android的Transition框架来实现个性化的动画效果。 ...

    UE4自定义动画节点模板(可导出)

    在UE4(Unreal Engine 4)中,自定义动画节点是扩展引擎动画系统的关键方法,这使得开发者可以根据项目需求创建独特的动画逻辑。本资源"UE4自定义动画节点模板(可导出)"提供了在UE4.25.3版本下创建并导出自定义...

    Swift自定义UIView动画

    在iOS开发中,Swift语言为开发者提供了丰富的工具来创建引人入胜的用户界面,其中自定义UIView动画是一项重要的技术。这篇博客文章“Swift自定义UIView动画”详细讲解了如何利用Swift来实现对UIView的动态效果,使得...

    Activity自定义切换动画

    因此,了解如何自定义Activity的切换动画是提升应用独特性和用户体验的重要技能。 自定义Activity切换动画主要涉及两个关键类:`Transition`和`Animator`。`Transition`类负责控制视图在不同状态之间的转换,而`...

    android自定义组件动画基础班

    在“android自定义组件动画基础班”中,我们可能将重点放在如何使用属性动画和补间动画来增强自定义组件的交互体验。例如,`AnimationButton`可能是一个带有自定义点击动画的按钮。我们可以使用属性动画在用户按下...

    基于贝塞尔曲线的自定义属性动画

    基于贝塞尔曲线的自定义属性动画是其中一种高级应用,它能赋予动画更丰富的视觉表现力和流畅性。贝塞尔曲线,作为一种数学工具,常用于计算机图形学中,因为它可以产生平滑的曲线路径,非常适合用作动画的关键帧路径...

    iOS 自定义菜单动画

    在iOS应用开发中,自定义菜单动画是一种提升用户体验的有效手段,可以吸引用户并提供互动性的视觉享受。"iOS 自定义菜单动画"这个标题所指的,主要是关于在iOS平台上为菜单设计并实现各种动态效果的技术。这些动画...

    Android自定义加载动画

    在Android应用开发中,自定义加载动画是一种提升用户体验的重要手段,尤其是在进行网络请求或数据处理时,一个美观且富有特色的加载动画可以增加用户对应用的满意度。本文将深入探讨如何在Android平台上创建自定义...

    前端自定义动画.zip

    在前端开发中,自定义动画是一项重要的技能,它能让网页和应用变得更加生动有趣,吸引用户的注意力。本资源“前端自定义动画.zip”可能包含了一系列关于如何在前端实现自定义动画的示例、代码片段和教程。 自定义...

    在PowerPoint2021中创建自定义动画效果.docx

    ### 在PowerPoint2021中创建自定义动画效果 #### 一、引言 在进行演示时,恰当的动画可以提升观众的兴趣和参与度,让演示内容更加生动有趣。PowerPoint2021提供了丰富的工具,允许用户不仅使用内置的动画效果,还...

    MJRefresh自定义动画

    MJRefresh自定义动画 项目开发中用了MJRefres 刷新控件,但是MJRefresh默认的加载样式感觉比较丑,产品觉得需要换个样式,弄的简洁一点。于是着手看了一下MJRefresh的源码,发现其提供了修改样式的方法。

    android动画介绍之 自定义Animation动画

    本文将深入探讨Android自定义`Animation`动画的实现方式,帮助开发者更好地掌握这一技术。 Android动画分为多种类型,包括`Animation`类(补间动画)、`ViewPropertyAnimator`(属性动画)、以及`Transition`(过渡...

    Qt自定义控件动画效果按钮

    在实际项目中,比如"StudentManagementSystem",这样的自定义动画效果按钮可以用来增强用户体验,比如在用户点击登录或保存操作时,按钮可以显示加载动画,让用户知道系统正在处理请求。 总结起来,Qt自定义控件...

    UE5动画自定义节点, 打包也可以用, c++, c#

    在UE5(Unreal Engine 5)中,动画系统提供了强大的功能,允许开发者自定义复杂的动画逻辑。这个主题主要涉及到两个关键部分:动画蓝图和C++/C#编程。下面我们将详细探讨这两个方面以及如何在打包游戏后依然能使用...

    各种自定义Dialog 以及Dialog加载动画

    在Android开发中,自定义Dialog和Dialog加载动画是提升应用用户体验的重要手段。默认的Dialog样式虽然功能齐全,但在追求个性化和美观的今天,往往显得过于简单甚至有些过时。因此,开发者常常需要根据应用的设计...

    Android自定义带动画圆环进度条

    本文将深入探讨如何在Android中创建一个自定义的带有动画效果的圆环进度条,这将帮助开发者们构建更加美观且动态的用户界面。 首先,我们需要了解圆环进度条的基本概念。它是一种特殊的进度条,形状为圆形,通常...

    pulltorefresh实现自定义动画

    ### PullToRefresh实现自定义动画知识点 #### 1. PullToRefresh基础使用 在Android开发中,PullToRefresh是一种常用的手势交互模式,主要用于列表视图的下拉刷新和上拉加载更多内容。通常我们会使用开源库如`...

    自定义带动画的环形图

    本文将深入探讨如何创建一个带有动画效果的自定义环形图。环形图通常用于展示数据的占比或者进度,通过动画的添加,可以更生动地展示数据的变化过程。 首先,我们需要了解`Paint`类在Android中的作用。`Paint`是...

    swift-iOS自定义转场动画集锦

    本资源“swift-iOS自定义转场动画集锦”正是一个专门针对Swift开发者的动画库,它包含了多种创意十足的转场效果,可以极大地丰富你的iOS应用。 首先,我们需要了解转场动画的基本概念。转场动画是指在两个界面之间...

Global site tag (gtag.js) - Google Analytics