2016-09-29 6 views
2

У меня есть панель навигации, в которой используется цвет оттенков белого цвета. Я использую UIActivityViewController, чтобы поделиться ссылкой с общим листом iOS.Изменение цвета оттенков UIBarButtonItems в UIActivityViewController

Когда я выбираю приложение WhatsApp или Messages для совместного использования контента, кнопки навигации имеют синий цвет оттенков по умолчанию. Также в поисковой панели (в случае WhatsApp) есть серый оттенок, который действительно затрудняет чтение.

Мне не удалось изменить цвет оттенка. Мой код:

let textToShare = "Visit my website!" 
if let myWebsite = NSURL(string: "http://google.com") { 
    let objectsToShare = [textToShare, myWebsite] 
    let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil) 

    self.presentViewController(activityVC, animated: true, completion: { 
     activityVC.navigationController?.navigationBar.tintColor = UIColor.whiteColor() 
     activityVC.navigationController?.navigationItem.rightBarButtonItem?.tintColor = UIColor.whiteColor() 
     activityVC.navigationController?.navigationItem.leftBarButtonItem?.tintColor = UIColor.whiteColor() 
    }) 
} 

Любые идеи?

Edit:

Это не дублирует вопрос, потому что это не про кнопку отливом цвета контроллера вида деятельности. Речь идет о цвете кнопки контроллера навигации контроллера вида, который показан после, например, делится на iMessage.

+1

Возможный дубликат [цвет текста кнопки IOS 8 UIActivityViewController и UIAlertController использует tintColor окна] (http://stackoverflow.com/questions/25795065/ios-8-uiactivityviewcontroller- и-uialertcontroller-button-text-color-uses-wind) – Adrian

+1

Вы пробовали использовать внешний прокси? 'UINavigationBar.appearance(). tintColor = UICcolor.whiteColor' – Krumelur

+0

Да, я сделал это в' AppDelegate', но не после представления activityVC. – MJQZ1347

ответ

1

Вы можете установить контроллер tintColor для просмотра, представленный UIActivityViewController, установив tintColor в экземпляр UIWindow делегата приложения. Установка tintColor на UIActivityViewController, похоже, не влияет независимо от того, когда и как вы его установили.

В делегат своего приложения:

self.window.tintColor = [theme navBarItemsTintColor];