开发学院软件开发C++ C++自定义UINavgationBar一 阅读

C++自定义UINavgationBar一

 2010-10-19 08:27:01 来源:WEB开发网 闂傚倸鍊风欢姘缚瑜嶈灋闁圭虎鍠栫粻顖炴煥閻曞倹瀚�闂傚倸鍊风粈渚€骞夐敓鐘插瀭闁汇垹鐏氬畷鏌ユ煙閹殿喖顣奸柛搴$У閵囧嫰骞掗幋婵冨亾閻㈢ǹ纾婚柟鐐灱濡插牊绻涢崱妤冃℃繛宀婁簽缁辨捇宕掑鎵佹瀸闂佺懓鍤栭幏锟�濠电姷鏁告慨顓㈠箯閸愵喖宸濇い鎾寸箘閹规洟姊绘笟鈧ḿ褍煤閵堝悿娲Ω閳轰胶鍔﹀銈嗗笂閼冲爼鍩婇弴銏$厪闁搞儮鏅涙禒褏绱掓潏鈺佷槐闁轰焦鎹囬弫鎾绘晸閿燂拷闂傚倸鍊风欢姘缚瑜嶈灋闁圭虎鍠栫粻顖炴煥閻曞倹瀚�  闂傚倸鍊烽懗鑸电仚缂備胶绮〃鍛村煝瀹ュ鍗抽柕蹇曞У閻庮剟姊虹紒妯哄妞ゆ劗鍘ч埥澶娢熼柨瀣偓濠氭⒑瑜版帒浜伴柛鎾寸☉閳绘柨顫濋懜纰樻嫼闂佸憡绋戦オ鏉戔枔閺冣偓缁绘稓浠﹂崒姘瀳闂佸磭绮幑鍥嵁鐎n亖鏀介柟閭﹀墯椤斿倹淇婇悙顏勨偓鏍ь潖婵犳艾鍌ㄧ憸蹇涘箟閹绢喗鏅搁柨鐕傛嫹
核心提示:+ (UINavigationBar *)createNavigationBarWithBackgroundImage:(UIImage *)backgroundImage title:(NSString *)title {UINavigationBar *customNavigationBar = [[[UINavi
+ (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];

 

效果图如下:

自定义UINavgationBar二

http://tech.cncms.com/develop/cjj/111481.html

Tags:自定义 UINavgationBar

编辑录入:爽爽 [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
更多精彩
    赞助商链接

    热点阅读
      焦点图片
        最新推荐
          精彩阅读