2011-03-29 113 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];