[英]How can I change the background color of a UIBarButtonItem on iOS 7+?
我想通過更改其背景顏色來指示打開或關閉特定UIBarButtonItem
。 Mobile Safari 使用此功能來指示隱私瀏覽是打開還是關閉:
我該怎么做,因為UIBarButtonItem
上沒有backgroundColor
屬性?
創建一個UIButton
並將其用作UIBarButtonItem
的自定義視圖。 然后,在按鈕的圖層上設置backgroundColor
:
UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setTitle:@"Test"];
button.layer.backgroundColor = [UIColor redColor].CGColor;
button.layer.cornerRadius = 4.0;
UIBarButtonItem* buttonItem = [[UIBarButtonItem alloc] initWithCustomView:button];
self.toolbarItems = @[buttonItem];
你可以只使用兩個圖像。 一個用於選中,一個用於未選中
- (void)setBackgroundImage:(UIImage *)backgroundImage forState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics
上述功能可以幫助您完成此操作
斯威夫特 5 個回答
let rightBarCancelButton = UIButton(frame: CGRect(x: 0, y: 0, width: 30, height: 30))
let cancelImage = UIImage(systemName: "multiply")
rightBarCancelButton.setImage(cancelImage, for: .normal)
rightBarCancelButton.layer.cornerRadius = 15
rightBarCancelButton.backgroundColor = UIColor.lightGray
let rightBarButton = UIBarButtonItem(customView: rightBarCancelButton)
navigationItem.rightBarButtonItem = rightBarButton
奇跡般有效!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.