簡體   English   中英

UIToolbar中的UISegmentedControl顏色

[英]UISegmentedControl Color in a UIToolbar

我的問題圍繞着UINavigationBar與UIToolbar上的UISegmentedController的區別。 如果我將UISegmentedControl放入導航欄,如下所示:

navigationBar.barStyle = UIBarStyleBlackTranslucent;

一切都很好。 UISegmentedControl使用稍暗的黑色標識所選選項。 但是,如果我將UISegmentedControl放到UIToolbar上,它就不會從工具欄中獲取顏色或半透明度。 如果我手動設置tintColor,則UISegmentedControl不再區分selected和unselected。

不可否認,在放入UIToolbar之前,必須將UISegmentedControl包裝在UIBarButtonItem中。 我想知道這是否是UISegmentedControl看起來不正確的原因(半透明黑色背景上的藍色)。

toolbar.barStyle = UIBarStyleBlackTranslucent;
UIBarButtonItem *item = [[[UIBarButtonItem alloc] initWithCustomView:segmentedControl]; 
NSArray *toolbarItems = [[NSArray alloc] initWithObjects:item,nil];
toolbar.items = toolbarItems;

當然,由於我使用的是內部導航和控制器工具欄,但我的代碼並不完整,但一般邏輯是相同的。 我不確定如何使UIToolbar上的UISegmentedControl具有黑色半透明樣式 - 在選定和未選定的段之間保持明顯的區別。

看起來像: segmentedController.tintColor = [UIColor darkGrayColor]; 解決你的問題。

要刪除“依賴項”,請繼承UISegmentedControl並在構造函數中設置色調。

CustomSegmentedControl.m

- (id)initWithItems:(NSArray*)items {
    if( self = [super initWithItems:items] ) {
         self.tintColor = [UIColor darkGrayColor];
    }
    return self;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM