2011-10-28 11 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を上の結果は少し異なっています。選択したセルの前のセグメントがグレーのレイヤーの上に表示されます。それは少し近くに見える - シミュレータの代わりに実際のデバイスでより明白です。何らかの理由で、シミュレータからのスクリンダンドが非常に軽いです。

Disabled UISegmentedControl in iOS5

誰がこれを経験している、と誰かが、回避策がありますか?

敬具 /アンダース

+0

あなたには回答がありますか?私はサムの問題に直面していますか? – Siten

+0

悲しいことに、私の解決策は「それで生きる」ようになりました。それはほとんど見えないかゆみです。私の結論は、ほとんどのユーザーが観察することはほとんどなかった、それは迷惑とそれを見つけるために製品を批判することは誰も絶対に誰も気づかないでしょう。だから私たちはそれと一緒に暮らしていますが、解決策が見つかったら投稿してください。 – ankhansen

答えて

0

あなたがセグメント化されたコントロールのスーパーの層にあなたのオーバーレイ層を追加してもらえますか?または、おそらくセグメント化されたコントロールのレイヤーのスーパーレイヤーですか?

関連する問題