2011-03-29 144 views

回答

3

我很确定这是不可能的。如果你继承它,你可能能够解决一些问题。

编辑:我看了一下UIMenuController.h文件,似乎没有任何明显的方式来改变颜色。它是NSObject的一个子类,如果可以帮助你的话。另外,如果你看一下人们如何继承UITabBarController来改变它的颜色,你也许可以制定出类似的解决方案。

+0

这是一个单身,只返回了'sharedMenuController',所以我不能继承它。尽管谢谢你的回答! – 2011-03-29 02:31:24

+0

这没什么帮助,但可以使用UIAppearance来更改UIButton的背景色。从那里圆角落了。我认为这可能是可以修改的,如果图层改变了,但我没有看到访问它的方法。 – JoePasq 2014-11-18 18:45:50

4

更改文本颜色的可能解决方案包括在UIMenuController中使用UIButton的外观代理。问题是它直接使用Apple在菜单控制器中使用的私有UIButton子类。我绝不会建议访问一个私人Apple类(并通过它的名字),但在那个特定的菜单控制器颜色定制的情况下,我认为这是最好的解决方案。它可以让你定义你的视图外观的干净方式。

斯威夫特

(NSClassFromString("UICalloutBarButton")! as! UIButton.Type).appearance().setTitleColor(UIColor.redColor(), forState: UIControlState.Normal) 

Objective-C的

[[NSClassFromString(@"UICalloutBarButton") appearance] setTitleColor:[UIColor redColor] forState:UIControlStateNormal];