一般而言狡孔,app的返回按鈕都是一致的琢蛤,所以可以在AppDelegate中做統(tǒng)一的樣式蜓堕,
代碼如下:
//修改返回按鈕樣式
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
//狀態(tài)欄顏色
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
這樣的話抛虏,返回按鈕的事件就是返回到上一級頁面,但是有時候會遇到套才,需要返回到指定頁面嘉蕾,這樣的話,就需要自定義返回按鈕霜旧,問題又出現(xiàn)了错忱,返回按鈕跟左側(cè)邊距和統(tǒng)一的返回按鈕不一致。我也試試了很多種挂据,才找到方法以清。
就是定義兩個按鈕,左邊的按鈕用來控制左邊距崎逃,右邊的才是真正看到的按鈕掷倔。
代碼如下:
self.navigationItem.hidesBackButton = YES;
UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[backBtn setBackgroundImage:[UIImage imageNamed:@"back.png"] forState:UIControlStateNormal];
[backBtn addTarget:self action:@selector(Go2Click) forControlEvents:UIControlEventTouchUpInside];
backBtn.frame = CGRectMake(0, 0, 22, 33);
UIBarButtonItem *item = [[UIBarButtonItem alloc]initWithCustomView:backBtn];
UIBarButtonItem *nagetiveSpacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
//自己根據(jù)需要設(shè)置
nagetiveSpacer.width = -10;
//兩個返回按鈕,一個用來控制左邊距
self.navigationItem.leftBarButtonItems = @[nagetiveSpacer, item];
end