3

アプリでナビゲーション バーのタイトルを中央に揃えようとしていますが、タイトルが右側にとどまっているようです (スクリーン ショットを参照してください)。以下のコードを使用しています。

-(void)viewDidLoad {
    UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithTitle:@"Home" style:UIBarButtonItemStylePlain target:self action:@selector(goToHomePage:)];
    [self.navigationController.navigationItem.rightBarButtonItem setTarget:self];
    self.navigationItem.rightBarButtonItem = addButton;
    [addButton release];
}

viewWillAppear()以下のように

[self.navigationItem setTitle:offertitle];

そしてこれも試しました

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(40, 0, 120, 40)];
label.backgroundColor = [UIColor clearColor];
label.font = [UIFont boldSystemFontOfSize:14.0];
label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
label.textAlignment = UITextAlignmentLeft;
label.textColor =[UIColor whiteColor];
label.text=offertit;
self.navigationItem.titleView = label;

戻るボタンを非表示にすると、タイトルに中央揃えのタイトルが表示されます。戻るボタンの外観属性を設定する方法はありますか?

画像リンクはこちら

私が間違っていたかもしれない場所を誰かが私に案内してくれますか?

4

6 に答える 6

8

UILabelを使用する必要はありません。このコードを直接使用できます。

[self.navigationItem setTitle:@"Your Title"];

そして、あなたは行ってもいいです!このコードは、ナビゲーションバーの中央に自動的に配置されます。

または、実際にUINavigationControllerのインスタンスがある場合は、次を使用します。

[self setTitle:@"Your Title"];
于 2012-06-12T03:43:43.263 に答える
1

前のビューコントローラーの viewWillDisappear メソッドで self.title = "" を設定する必要があります。

例えば。ViewControllerB は ViewControllerA から開いてから、ViewControllerA の "viewWillDisappear" メソッドで self.title = "" を設定します

于 2015-10-27T10:50:02.297 に答える
0

ナビゲーション コントローラーがある場合は、以下を追加するだけです: self.title=@"Your Title";

于 2012-06-11T12:26:04.883 に答える
0

これを ViewDidLoad で呼び出すだけです

- (void)prepareNavigationTitle
{
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(-50, 0.0, 240.0, 40.0)];
    label.backgroundColor = [UIColor clearColor];
    label.font = [UIFont boldSystemFontOfSize:14.0];
    label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
    label.textAlignment = UITextAlignmentLeft;
    label.textColor =[UIColor whiteColor];
    label.text=offertit;
    self.navigationItem.titleView = label;
}
于 2012-06-11T11:58:08.493 に答える
0

self.navigationItem.title = @"YourTitle"; を使用してみてください。このコードは、タイトルをナビゲーション バーの中央に配置します。

于 2012-06-11T12:33:41.237 に答える
0
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self)
    {
        // this will appear as the title in the navigation bar
        UILabel *label = [[[UILabel alloc] initWithFrame:CGRectZero] autorelease];
        label.backgroundColor = [UIColor clearColor];
        label.font = [UIFont boldSystemFontOfSize:20.0];
        label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
        label.textAlignment = UITextAlignmentCenter;
        label.textColor = [UIColor yellowColor]; // change this color
        self.navigationItem.titleView = label;
        label.text = NSLocalizedString(@"PageThreeTitle", @"");
        [label sizeToFit];
    }

    return self;
}
于 2012-06-11T11:34:16.897 に答える