转自:http://blog.csdn.net/kmyhy/article/details/6869135
//.h
#import <UIKit/UIKit.h>
@interface MyNavigationController : UINavigationController
@end
//.m
#import "MyNavigationController.h"
@implementation MyNavigationController
-(void)popself
{
[self popViewControllerAnimated:YES];
}
-(UIBarButtonItem*) createBackButton
{
UIImage* image= [UIImage imageNamed:@"navi_back_btn"];
UIImage* imagef = [UIImage imageNamed:@"navi_back_f_btn"];
CGRect backframe= CGRectMake(0, 0, image.size.width, image.size.height);
UIButton* backButton= [UIButton buttonWithType:UIButtonTypeCustom];
backButton.frame = backframe;
[backButton setBackgroundImage:image forState:UIControlStateNormal];
[backButton setBackgroundImage:imagef forState:UIControlStateHighlighted];
[backButton setTitle:@"返回" forState:UIControlStateNormal];
[backButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
backButton.titleLabel.font=[UIFont systemFontOfSize:12];
[backButton addTarget:self action:@selector(popself) forControlEvents:UIControlEventTouchUpInside];
//定制自己的风格的 UIBarButtonItem
UIBarButtonItem* someBarButtonItem= [[UIBarButtonItem alloc] initWithCustomView:backButton];
return someBarButtonItem;
// return [[UIBarButtonItem alloc]initWithTitle:@"返回" style:UIBarButtonItemStyleBordered target:self action:@selector(popself)];
}
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
{
[super pushViewController:viewController animated:animated];
if (viewController.navigationItem.leftBarButtonItem== nil && [self.viewControllers count] > 1)
{
viewController.navigationItem.leftBarButtonItem =[self createBackButton];
}
}
@end
分享到:
相关推荐
上传的demo关于UINavigationController中back按钮的重写方法, UINavigationController的back按妞本身是没有监听方法的,但是我们通过添加类目可以使...让我们能在UINavigationController触发返回按钮时做些必要的操作.
自定义UITabBar,layoutSubviews重写UITabBarButton位置,重写则hitTest方法并监听按钮的点击 自定义的UITabBarController和UINavigationController
一个自定义的导航栏,只需要在使用的类中引入头文件就可以直接使用 但是要在AppDelegate中将nav设置为rootView self.navigation = [[UINavigationController alloc]initWithRootViewController:self....
2、一般导航条的返回按钮需要自定义,一般除了栈底控制器有导航条,其他控制器都需要隐藏底部的条,可以重写pushViewController:animated:方法,在该方法中实现该功能 3、导航控制器右滑返回效果(触摸屏幕的任意...
iOS UINavigationController自定义,push动画效果
StackViewController 类似于自定义容器视图控制器的UINavigationController,它为POP和PUSH提供全屏平移手势支持
UINavigationController 简单使用方法,增加自定义导航按钮。图片按钮,switch按钮。
iOS 自定义UINavigationController和UITabBarController
* 自定义返回按钮或者隐藏navigationBar时,interactivePopGestureRecognizer的delegate被阻断事件传递。 ## 解决方案 * 自定义UINavigationController,重写interactivePopGestureRecognizer的delegate相关方法。
IOS 改变导航栏返回按钮的标题实例详解 前言: 下午又找到了一个新的方法 这个方法不错 暂时没有发现异常的地方。 新写的App中需要使用UINavigationController对各个页面进行导航,但由于第一级页面的title较长,...
主要介绍了iOS应用开发中导航栏按钮UIBarButtonItem的添加教程,文中详细介绍了使用UINavigationController导航控制器添加的过程,需要的朋友可以参考下
我们写iOS项目的时候,基本都是一个UINavigationController套一个UITabBarController的形式,就是上面一个导航栏,下面几个按钮的工具条的形式。我写了几个应用,发现如果每次都重新写的话完全就是浪费精力和时间,...
作者KenwayGogo,源码DZXNavigationController,通过自定义UINavigationController和UIViewController实现一个更加灵活的导航栏。DZXNavigationController是一个灵活的导航栏框架,它支持以下特性: ● 全屏的转场...
IOS修改导航栏高度demo,项目非常简单简洁,方便大家参考如何正确地修改UINavigationController中的MyNavigationBar高度,博客地址https://blog.csdn.net/u010775335/article/details/86176848
iphone中的基础控件UINavigationController,适合初学者,...3、再次就是对每个页面进行导航按钮的设置 4、注意,本页面只能设置leftBarButtonItem,rightBarButtonItem,而backBarButtonItem需要在上页点击按钮中设置
通过故事板兼容的自定义转场,在 UINavigationController 堆栈中的 UIViewController 之间交替的简单方法。 (也与导航控制器堆栈外的视图控制器兼容) 主要基于提供的。 用法 代码中的用法与任何其他 segue 相同...
源码BCMagicMoveTransition,自定义UINavigationController的切换动画。效果类似 Keynote 软件中 Magic Move 切换,可以用于任意两个 UIViewController 之间,只需要前后两个 ViewController 均继承 ...
每个导航栏 例子 要运行示例项目, pod install克隆 repo,然后从 Example 目录运行pod install 。 要求 iOS 9.0 斯威夫特 4.2 安装 EachNavigationBar 可通过或。 要安装它,只需将以下行添加到您的 Podfile 或 ...