Lut*_*ker 9 iphone uisegmentedcontrol uitoolbar
我的问题围绕着UINavigationBar与UIToolbar上的UISegmentedController的区别.如果我将UISegmentedControl放入导航栏,如下所示:
navigationBar.barStyle = UIBarStyleBlackTranslucent;
Run Code Online (Sandbox Code Playgroud)
一切都很好.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;
Run Code Online (Sandbox Code Playgroud)
当然,由于我使用的是内部导航和控制器工具栏,但我的代码并不完整,但一般逻辑是相同的.我不确定如何使UIToolbar上的UISegmentedControl具有黑色半透明样式 - 在选定和未选定的段之间保持明显的区别.
似乎: segmentedController.tintColor = [UIColor darkGrayColor];解决您的问题.
要删除"依赖项",请继承UISegmentedControl并在构造函数中设置色调.
CustomSegmentedControl.m
- (id)initWithItems:(NSArray*)items {
if( self = [super initWithItems:items] ) {
self.tintColor = [UIColor darkGrayColor];
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10263 次 |
| 最近记录: |