0

戻るボタンとビューの名前を備えたナビゲーションバーを備えた詳細ビューがあります。ナビゲーション バーはプログラムで設定されます。提示される名前はこのように設定されています。

self.title = NSLocalizedString(name, @"");

名前は表示されるビューによって異なります。

ここで、ビューに依存するナビゲーション バーにも小さなアイコンを表示したいと思います。

それ、どうやったら出来るの?

4

4 に答える 4

4

これを使用して、 背景画像をナビゲーションバーに設定できます

入れるdidFinishLaunchingWithOptions

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"title_bar.png"] forBarMetrics:UIBarMetricsDefault];  

または、任意のビューで ナビゲーション バーの画像を設定できます。

UINavigationBar *navBar = [[self navigationController] navigationBar];
    UIImage *image = [UIImage imageNamed:@"TopBar.png"];
    [navBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];

または、NavigationBar リンクにビューを設定できます

[[UINavigationBar appearance] addSubview:yourView]; 

また

self.navigationItem.titleView = YourView;  

hを使用してタイトルを設定します

self.navigationItem.title = @"Your Title"; 

そして、これを使用してnavigationBarButtonを取得できます

-(void)getRightBarBtn
{
    UIButton *Btn =[UIButton buttonWithType:UIButtonTypeCustom];

    [Btn setFrame:CGRectMake(0.0f,0.0f,68.0f,30.0f)];
    [Btn setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:@"yourImage.png"]]  forState:UIControlStateNormal];
    //[Btn setTitle:@"OK" forState:UIControlStateNormal];
    //Btn.titleLabel.font = [UIFont fontWithName:@"Georgia" size:14];
    [Btn addTarget:self action:@selector(yourBtnPress:) forControlEvents:UIControlEventTouchUpInside];
    UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithCustomView:Btn];
    [self.navigationItem setRightBarButtonItem:addButton];
}

そして、ナビゲーションバーにシンプルなimageViewを設定します

UIImageView *image = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"star.png"]];
UIBarButtonItem *backBarButton = [[UIBarButtonItem alloc] initWithCustomView:image];
self.navigationItem.rightBarButtonItem = backBarButton;
于 2012-11-21T08:03:28.553 に答える
0

このコードをviewDidLoadViewController に追加します。

UIImage *image = [UIImage imageNamed: @"myIcon.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
imageView.frame = CGRectMake(5, 2, 100, 39);
[self.navigationController.navigationBar addSubview:imageView];

imageView はインスタンス変数として宣言することもできるため、追加した後でアクセスできます (たとえば、ある時点で navigationBar からアイコンを削除したい場合)。

于 2012-11-21T08:01:22.223 に答える
0
UIButton *homeBtn=[[UIButton alloc] initWithFrame:CGRectMake(0, 0, 46, 28)];
[homeBtn setBackgroundImage:[UIImage imageNamed:@"homeBtn.png"] forState:UIControlStateNormal];    
[homeBtn addTarget:self action:@selector(homeBtnPressed) forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem *navHomeBtn=[[[UIBarButtonItem alloc] initWithCustomView:homeBtn] autorelease];    
self.navigationItem.rightBarButtonItem=navHomeBtn;   
[homeBtn release];
于 2013-04-29T06:06:50.990 に答える