2011-10-28 45 views
1

我有以下代碼,它在iOS 4中產生了「禁用」UISegmentedControl的外觀。正如細心的讀者會注意到的,我正在開發MonoTouch,因此是C#語法。UISegmentedControl上的CA覆蓋在iOS5中被覆蓋

private void MakeOverlayOnLastRatingSegment() 
{ 
    RemoveOverlayOnLastRatingSegment(); 

    lastRatingDisabledLayer = new CALayer(); 
    lastRatingDisabledLayer.Frame = new RectangleF(new PointF(0, 0), segmLastRating.Frame.Size); 

    lastRatingDisabledLayer.CornerRadius = 10.0f; 
    lastRatingDisabledLayer.BackgroundColor = UIColor.FromRGBA(0.5f, 0.5f, 0.5f, 0.2f).CGColor; 
    segmLastRating.Layer.AddSublayer(lastRatingDisabledLayer); 
} 

,其結果是:

Disabled UISegementedControl in iOS4

但在iOS5的結果是有點不同。所選單元格之前的段被寫入我的灰色層之上。它需要仔細觀察 - 在真實設備而不是模擬器上更明顯。出於某種原因,模擬器的screendump非常輕。

Disabled UISegmentedControl in iOS5

有其他人遇到這種方法,但有人有解決方法嗎?

問候 /安德斯

+0

你有答案嗎?我正面臨山姆會話? – Siten

+0

不幸的是,我的解決方案變得「與之共存」。這是一個非常小的能見度癢。我的結論是,幾乎沒有用戶會觀察,更少會發現它煩人,絕對沒有人會批評該產品。所以我們生活在一起 - 但如果你找到解決方案,請發佈。 – ankhansen

回答

0

您可以添加您的覆蓋層的分段控制的上海華層?或者可能是分段控件的圖層超級層?