[英]UIAlertView changes UITabbar item selected color
我的應用程序中有一個奇怪的問題:我有一個UIViewController
,當用戶點擊按鈕時會顯示UIAlertView
。 警報讓用戶在照片庫和iPhone相機之間進行選擇。
當警報出現時,我注意到這個問題:
首先, UIViewController
選中的標簽欄項目具有此布局
然后,當警報出現時,它會像這樣改變
如果用戶決定訪問他的照片庫然后返回,則標簽欄項目仍然如下所示
怎么可能? 也許UIAlertView正在改變一些色彩?
謝謝
我遇到了這個問題,當某些視圖在解除UIAlertView
后應該恢復正常顏色時有時會保持灰色。 我相信這是iOS 7.0(或可能是7.1)中的一個錯誤。 我把這個解決方法放在我的AppDelegate
:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_6_1) {
self.window.tintAdjustmentMode = UIViewTintAdjustmentModeNormal;
}
return YES;
}
這可以防止所有視圖首先變暗,從而使您應用中的所有視圖保持暗淡。
您使用的是自定義UIView子類嗎? 這是Apple在過渡指南中所說的內容。
出現警報或操作表時,iOS 7會自動調暗其后面視圖的色調顏色。 要響應此顏色更改,在其呈現中使用tintColor的自定義視圖子類應覆蓋tintColorDidChange以在適當時刷新呈現。
我遇到了同樣的問題,但它發生在UISlider中。 我解決了我的問題:只為我的UISlider設置顏色。
progressSlider.maximumTrackTintColor = [UIColor lightGrayColor];
我想你只需為這個標簽欄項目設置顏色
如果沒有為標簽欄項目設置顏色,則會在顯示警報后將其重置為lightGrayColor
希望這對你有所幫助
當我試圖在viewDidLoad中顯示UIAlertView時,同樣的事情發生在我身上。 我通過在viewDidAppear中顯示它來解決這個問題。 你可以在這里找到一個樣本https://github.com/Tulakshana/TabBar
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.