1

ナビゲーション バーの titleView に UISearchBar があります。[searchBar sizetofit] を使用して、CGRectZero のフレームで UISearchBar を作成しました。しかし、Navigation の titleView 内の UISearchBar の左右のサイズに小さな空きスペースがあります。

UISearchBar は両側に空があります:

theSearchBar = [[UISearchBar alloc] initWithFrame:CGRectZero];
theSearchBar.delegate = self;
self.navigationItem.titleView = self.theSearchBar;
[self.theSearchBar sizeToFit];

self.navigationItem.titleView.autoresizingMask = UIViewAutoresizingFlexibleWidth;

//Change color of UISearchBar
theSearchBar.tintColor = [UIColor colorWithRed:102.0f/255.0f green:73.0f/255.0f     
blue:126.0f/255.0f alpha:1.0f];

//Change color of NavigationBarItem
self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:102.0f/255.0f 
green:73.0f/255.0f blue:126.0f/255.0f alpha:1.0f];

//Set background image for navigation bar
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:   
@"SearchBar.png"] forBarMetrics:UIBarMetricsDefault];

UISearchBar が縦向きと横向きの両方で画面の幅を完全に埋めてほしい..

どんな助けでも本当に感謝しています:)

iPhone 5でXcode 4.5、iOS 6を使用しています。

NavigationItem.titleView を使用して UISearchBar をホストしたいだけです。この方法の方が良いと思います。

皆さんありがとう

4

2 に答える 2

0

ナビゲーション バーを非表示にして、theSearchBarを self.view self.navigationController.navigationBarHidden = NO; に追加するだけです。[self.view addSubview:theSearchBar];

于 2012-11-02T07:10:05.053 に答える
0

ナビゲーション バーの背景画像を設定した後、次の 2 行をコードに追加するだけです。

[self.navigationItem setRightBarButtonItem:nil];
[self.navigationItem setLeftBarButtonItem:nil];

それがあなたのために働くことを願っています。

于 2012-11-02T07:32:53.923 に答える