请问 :  如何代码实现自定义的UINavigationBar:
我打算 继承 UINavigationController  重新初始化 _navigationBar.
似乎语法不允许。 便宜不通过。
网上找了一些例子都不好用。实现的都比较简单,不是我的需求。
我的需求:
title: 是一个image。
back button 是自定义button(image)
forward button 也是自定义button
背景是全透明的
我是一名新手,请大侠门指点一下。  已经baidu 和google 了好多。
有人说用three20 ,目前开不打算这么搞。总是认为 ios 开发,这种简单的实现,应该有简单的方法。
我做过symbian android ,实现这种效果,都很简单。

解决方案 »

  1.   

    可以考虑隐藏系统提供的navigation bar,用自己的bar代替
      

  2.   

    自定义1个view  在view里添加你需要的控件UIView* MyToolView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];    
    UIBarButtonItem *UIBarBtn = [[UIBarButtonItem alloc] initWithCustomView:MyToolView]; 
    [self.navigationItem setLeftBarButtonItem:UIBarBtn]; 
        [UIBarBtn release];
        [MyToolView release];
      

  3.   

    我的需求:
    title: 是一个image。
    back button 是自定义button(image)
    forward button 也是自定义button
    背景是全透明的
    ------------------------------------------------------
    你的这些需求,UINavigationController下不都可以实现吗
    1.title:是一个image
    你可以使用self.navigationItem.titleView=[[[UIImageView alloc] initWithImage:[UIImage imageNamed:@""]] autorelease];
    2.back button是自定义button(image)
    这个可以在该控制器的父控制器中设置backBarButtonItem
    UIBarButtonItem *back=[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"x.png"]];
    navController.navigationItem.BackBarButtonItem=back;
    [back release];
    3.设置背景透明
    可以用Category来扩展UINavigationBar,如:
    @interface UINavigationBar (custom)-(void)drawRect{
        self.alpha=0.5f;}
    @end可重写drawRect方法