gpt4 book ai didi

iphone - UIToolbar 中的 UISegmentedControl 颜色

转载 作者:行者123 更新时间:2023-12-03 18:33:01 24 4
gpt4 key购买 nike

我的问题围绕 UINavigationBar 上的 UISegmentedController 与 UIToolbar 上的区别。如果我将 UISegmentedControl 放入导航栏中,如下所示:

navigationBar.barStyle = UIBarStyleBlackTranslucent;

一切都很好。 UISegmentedControl 用稍深的黑色标识所选选项。但是,如果我将 UISegmentedControl 放到 UIToolbar 上,它不会从工具栏中获取颜色或半透明度。如果我手动设置tintColor,UISegmentedControl 将不再区分选定和未选定。

诚然,在将 UISegmentedControl 放到 UIToolbar 上之前,必须将 UISegmentedControl 包装在 UIBarButtonItem 中。我想知道这是否是 UISegmentedControl 看起来不正确的部分原因(半透明黑色背景上的蓝色)。

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

当然,我的代码与编写的不完全一样,因为我使用的是内部导航和 Controller 工具栏,但总体逻辑是相同的。我不确定如何使 UIToolbar 上的 UISegmentedControl 具有黑色半透明样式 - 保持选定和未选定段之间的明显区别。

最佳答案

看起来像: segmentedController.tintColor = [UIColor darkGrayColor]; 解决了您的问题。

要删除“依赖性”,请子类化 UISegmentedControl 并在构造函数中设置色调。

CustomSegmentedControl.m

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

关于iphone - UIToolbar 中的 UISegmentedControl 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1989624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com