簡體   English   中英

UIAlertView更改UITabbar項目選擇的顏色

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM