我有一個用于少數視圖控制器的 backBarButtonItem 它默認顯示后退箭頭和文本我想為其他一些視圖控制器創建一個 leftBarButtonItem(顯示而不是推送)。
如何創建 leftBarButtonItem 應該與 Objective C 中的 backBarButtonItem 相同
backBarButtonItem 實作和 ViewControllers 被推送。
UIBarButtonItem *backNavigationItem = [[UIBarButtonItem alloc] initWithTitle:@"Back"
style:UIBarButtonItemStylePlain
target:self
action:nil];
NSString *accentContrastcolorString = [NSUserDefaults.standardUserDefaults valueForKey:@ "AccentcontrastColor"];
UIColor *accentContrastcolor = [self colorFromHexCode:accentContrastcolorString];
backNavigationItem.tintColor = accentContrastcolor;
viewController.navigationItem.backBarButtonItem = backNavigationItem;

我已經創建了 leftBarButtonItem 如下所示,它顯示后退標題需要具有相同大小的左箭頭箭頭。
UIBarButtonItem *bacNavigationItem = [[UIBarButtonItem alloc] initWithTitle:@"Back"
style:UIBarButtonItemStylePlain
target:self
action:@selector(backButtonTapped:)];
NSString *accentContrastcolorString = [NSUserDefaults.standardUserDefaults valueForKey:@ "AccentcontrastColor"];
UIColor *accentContrastcolor = [self colorFromHexCode:accentContrastcolorString];
bacNavigationItem.tintColor = accentContrastcolor;
viewController.navigationItem.leftBarButtonItem = bacNavigationItem;

遵循了一些其他鏈接,但沒有按預期作業,任何人都可以提出解決方案。
如何使 leftBarButtonItem 看起來像 backBarButtonItem?
uj5u.com熱心網友回復:
您可以創建一個按鈕并使用您自己的影像或chevron.backward系統影像,然后將該按鈕設定為條形按鈕項的自定義視圖。
例如:
UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
[btn setTitle:@"Back" forState:UIControlStateNormal];
[btn.titleLabel setFont:[UIFont systemFontOfSize:17.0]];
UIImageSymbolConfiguration *cfg = [UIImageSymbolConfiguration configurationWithPointSize:17.0 weight:UIImageSymbolWeightSemibold];
UIImage *img = [UIImage systemImageNamed:@"chevron.backward" withConfiguration:cfg];
[btn setImage:img forState:UIControlStateNormal];
// add a little spacing between button image and title
CGFloat offset = 8;
UIEdgeInsets edge = btn.contentEdgeInsets;
edge.right = offset;
btn.contentEdgeInsets = edge;
edge = btn.titleEdgeInsets;
edge.right = -offset;
btn.titleEdgeInsets = edge;
edge = btn.imageEdgeInsets;
UIBarButtonItem *barBtnItem = [[UIBarButtonItem alloc] initWithCustomView:btn];
附帶說明:在錯誤的地方使用“標準按鈕”會導致用戶混淆。通常,當呈現控制器時,用戶希望看到一個按鈕,例如“確定”或“完成”或“保存”,以及(通常)“取消”按鈕。顯示一個“回傳”按鈕,看起來它應該像正常導航一樣運行,但最終可能會產生歧義。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/383030.html
標籤:ios 迅速 目标-c 可可触感 uibarbuttonitem
