UISegmentedControlのCAオーバーレイがiOS5で上書きされる

私は、次のコードを持っています。これは、iOS 4では、「無効な」UISegmentedControlの外観を生成します。注意深い読者が気づくように、私はMonoTouchで開発しているので、C#の構文です。

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

他の誰かがこれを経験したことがありますか?誰かが回避策を持っていますか?

宜しくお願いします /アンダース

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

1 答え

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

0
追加された