2015-08-20 69 views
0

正如我所知,當您禁用iOS中的按鈕或滑塊或其他功能時,控件會變暗一點,表示它已被禁用。我怎麼能阻止這種情況發生?控制權被禁用後,我嘗試強制α回到1,但它不起作用。解決此問題的最佳方法是什麼?禁用iOS中禁用的元素的調光效果

謝謝!

編輯: 還有一個奇怪的行爲,其中,如果我上的一個按鈕,否則會remaind灰色滑塊直接設定α,但我父母的觀點一個具有此代碼,它在某種程度上繞過調光:

NSArray* childViews = [self.view subviews]; 
for (UIView* childView in childViews) 
{ 
    float alpha = 1; 
    if (self.expanded) 
    { 
     alpha = 0; 
    } 

    [childView setAlpha:alpha]; 
} 

WTF?

回答

0

我不認爲像滑塊這樣的系統控制器是可能的開關,但您可以嘗試將userInteractionEnabled屬性設置爲NO以實現類似的效果。

+0

雖然這確實禁用了實際控制,但它不會切換到禁用狀態,我希望看起來與正常狀態不同。 – SpaceBear

+1

那麼繼承子控件並實現你自己的禁用狀態。 – deadbeef

+0

它已經是子類:)這是一個可能的解決方案,我可以切換圖像和不是我自己。感謝您的建議。 – SpaceBear

0

如果您使用Interface Builder,則可以在屬性檢查器(cmd + alt + 4)中配置禁用狀態。如果您將文本顏色設置爲與默認狀態的顏色相同的顏色(但不是通過「默認顏色」,但使用顏色選擇器),則您的按鈕對於「禁用」狀態看起來與默認狀態相同。

但是,您不應該禁用調光效果,因爲它對您的應用的用戶體驗不利。

+0

我不認爲可以通過Interface Builder爲禁用狀態配置滑塊。儘管如此,你仍然可以通過代碼,並且調光仍然會發生。 – SpaceBear