[英]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.