У меня есть следующий код, который в 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);
}
И результат:
Но на iOS5результат немного другой.Сегмент перед выбранной ячейкой написан поверх моего серого слоя.Это требует немного более пристального взгляда - более очевидный на реальном устройстве вместо симулятора.По какой-то причине шум от симулятора очень легкий.
Кто-нибудь еще испытал это, и есть ли у кого-нибудь обходной путь?
С уважением, Андерс