MKUserTrackingBarButtonItem tint color IOS7 不起作用,但在 IOS 6 上起作用
Posted
技术标签:
【中文标题】MKUserTrackingBarButtonItem tint color IOS7 不起作用,但在 IOS 6 上起作用【英文标题】:MKUserTrackingBarButtonItem tint colour IOS7 does not work but does on IOS 6 【发布时间】:2013-09-26 14:53:04 【问题描述】:使用 XCode 5 以 ios6 的最低操作系统为目标,我创建了这样的条形按钮项
self.navigationItem.rightBarButtonItem = [[MKUserTrackingBarButtonItem alloc] initWithMapView:self.mapView];
然后像这样设置它的色调
self.navigationItem.rightBarButtonItem.tintColor = [UIColor colorWithRed:175.0f / 255.0f green: 189.0f / 255.0f blue: 69.0f / 255.0f alpha:1.0f];
当我部署到 IOS6 设备时,条形按钮项目已正确着色,但在 IOS7 设备上它仍然是原厂蓝色
这是其他人遇到过的问题吗? XCode 5 的错误?
帮助?
谢谢
【问题讨论】:
我建议使用不同的(默认)栏按钮项目,看看问题是否仍然存在。如果是这样,那么奇怪的事情正在发生。如果不是,那可能是MKUserTrackingBarButtonItem
中的一个错误。
【参考方案1】:
MKUserTrackingBarButtonItem *buttonItem = [[MKUserTrackingBarButtonItem alloc] initWithMapView:self.mapView];
[buttonItem.customView setTintColor:[UIColor colorWithRed:175.0f / 255.0f green: 189.0f / 255.0f blue: 69.0f / 255.0f alpha:1.0f]];
【讨论】:
做到了。谢谢你,埃迪。【参考方案2】:我也没有找到解决方案,但我知道更改默认窗口颜色会覆盖它。如果您不介意您的默认窗口颜色被覆盖,您可以对您的应用委托的 didFinishLaunchingWithOptions 方法进行以下操作。
self.window.tintColor = [UIColor colorWithRed:175.0f / 255.0f green: 189.0f / 255.0f blue: 69.0f / 255.0f alpha:1.0f];
【讨论】:
【参考方案3】:来自 Apple 文档:
在 iOS 6 中,tintColor 为导航栏、标签栏、工具栏、搜索栏、 和范围栏。要在 iOS 7 中为条形背景着色,请改用 barTintColor 属性。
iOS 7 Transition Guide
【讨论】:
唉,没有。我的问题与 barbuttonitems 不是导航栏的背景有关。指南第 23 页使用 tintColor 为 barbutton 项目着色。正如我的问题所说,我正在这样做以上是关于MKUserTrackingBarButtonItem tint color IOS7 不起作用,但在 IOS 6 上起作用的主要内容,如果未能解决你的问题,请参考以下文章