`
yangping_Account
  • 浏览: 195011 次
  • 性别: 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 自定义属性动画Demo

    本资源提供的"Android 自定义属性动画Demo"是为了帮助开发者更好地理解和应用这一技术。 属性动画系统在API 11(Android 3.0 Honeycomb)及更高版本中引入,它可以改变对象的属性并实时渲染这些变化,创建出平滑...

    自定义带动画的录音功能

    总之,自定义的录音功能结合动画效果,不仅提升了用户体验,也展示了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开发中,自定义转场动画是一种提升用户体验的有效手段,它可以让你的应用界面在页面切换时展现出独特的视觉效果。本文将深入探讨自定义转场动画的相关知识点,帮助开发者更好地理解和应用这一技术。 首先,转...

    android 自定义View动画全集

    在Android开发中,自定义View和动画是提升用户体验和界面美观度的重要手段。本文将深入探讨如何实现"android 自定义View动画全集"中的各种特效,包括图层混合、滤镜效果、粒子爆炸、拖拽气泡、动画绘制文字以及圆形...

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

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

    MJRefresh自定义动画

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

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

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

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

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

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

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

    Qt案例之利用QPaint实现自定义加载中动画控件

    Qt案例之利用QPaint实现自定义加载中动画控件,不使用图片,仅仅利用代码实现Loading加载中动画,可参考文章:https://blog.csdn.net/didi_ya/article/details/124375758

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

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

    pulltorefresh实现自定义动画

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

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

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

    Android 自定义圆环动画切换、流式布局的实现.rar

    本示例项目“Android 自定义圆环动画切换、流式布局的实现”旨在教你如何利用自定义组件和动画来打造这样的效果。下面将详细解释其中涉及的关键技术点。 首先,我们关注的是“自定义的圆环ImageView”。在Android中...

    自定义登陆动画界面

    自定义登录动画界面正是这种提升用户体验的重要手段之一。本文将深入探讨如何在iOS平台上实现自定义登录动画界面,主要关注以下几个方面: 1. **动画原理与基本概念** - **Core Animation**: iOS中的动画主要是...

Global site tag (gtag.js) - Google Analytics