zoukankan      html  css  js  c++  java
  • 自定义UINavgationBar 方法一(原创)

    下面是定义UINavgationBar的static函数

    + (UINavigationBar *)createNavigationBarWithBackgroundImage:(UIImage *)backgroundImage title:(NSString *)title {
    	UINavigationBar *customNavigationBar = [[[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)] autorelease];
    	UIImageView *navigationBarBackgroundImageView = [[UIImageView alloc] initWithImage:backgroundImage];
    	[customNavigationBar addSubview:navigationBarBackgroundImageView];
    	UINavigationItem *navigationTitle = [[UINavigationItem alloc] initWithTitle:title];
    	[customNavigationBar pushNavigationItem:navigationTitle animated:NO];
    	[navigationTitle release];
    	[navigationBarBackgroundImageView release];
    	
    	return customNavigationBar;
    }
    
    

    下面是在需要生成UINavgationBar 的地方添加的代码     *ViewController.m:

    self.navigationController.navigationBar.hidden = YES;
    	UIImage *navigationBarBackgroundImage =[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"topbar-bg" ofType:@"png"]];
    	UINavigationBar *customNavigationBar = [YOUR_Util_Class createNavigationBarWithBackgroundImage:navigationBarBackgroundImage title:nil];
    	[self.view addSubview:customNavigationBar];
    	
    	UIButton *backButton = [[UIButton alloc] initWithFrame:CGRectMake(0.0, 0.0, 75.0, 30.0)];
    	if (_backButtonImage) {
    		[backButton setImage:_backButtonImage forState:UIControlStateNormal];
    	}else {
    		[backButton setImage:[UIImage imageNamed:@"btnback.png"] forState:UIControlStateNormal];
    	}
    
    	[backButton addTarget:self action:@selector(backButtonCliked:) forControlEvents:UIControlEventTouchUpInside];
    	UIBarButtonItem *backBarButton = [[UIBarButtonItem alloc] initWithCustomView:backButton];
    	customNavigationBar.topItem.leftBarButtonItem = backBarButton;	
    	[backButton release];
    	[backBarButton release];
    	
    	UIButton *addButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 43, 30)];
    	UIBarButtonItem *addBarButton = [[UIBarButtonItem alloc] initWithCustomView:addButton];
    	if (_isFromFavorites) {
    		[addButton setImage:[UIImage imageNamed:@"btn-delete-0.png"] forState:UIControlStateNormal];
    		[addButton addTarget:self action:@selector(deleteButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
    	}else {
    		[addButton setImage:[UIImage imageNamed:@"btn_add.png"] forState:UIControlStateNormal];
    		[addButton addTarget:self action:@selector(addButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
    	}
    	customNavigationBar.topItem.rightBarButtonItem = addBarButton;
    	[addButton release];
    	[addBarButton release];
    
    

    效果图如下:

  • 相关阅读:
    Magicodes.IE之花式导出
    Magicodes.IE之导入导出筛选器
    Magicodes.IE 2.3重磅发布——.NET Core开源导入导出库
    快速配置Azure DevOps代理服务器
    如何做好一个开源项目之徽章(二)
    使用Seq搭建免费的日志服务
    SpringBoot + SpringCloud Hystrix 实现服务熔断
    dedecms从word复制粘贴公式
    CuteEditor从word复制粘贴公式
    TinyMCE从word复制粘贴公式
  • 原文地址:https://www.cnblogs.com/moshengren/p/1855191.html
Copyright © 2011-2022 走看看