#c# #uikit #xamarin.ios #ios5 #calayer
#c# #uikit #xamarin.ios #ios5 #calayer
Вопрос:
У меня есть следующий код, который в 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 результат немного отличается. Сегмент перед выбранной ячейкой записывается поверх моего серого слоя. Это требует немного пристального взгляда — более очевидного на реальном устройстве, а не на симуляторе. По какой-то причине screendump из симулятора очень легкий.
Кто-нибудь еще сталкивался с этим, и у кого-нибудь есть обходной путь?
С наилучшими пожеланиями / Anders
Комментарии:
1. у вас есть ответ? я сталкиваюсь с проблемой sam?
2. К сожалению, мое решение стало «жить с этим». Это очень слабый зуд видимости. Я пришел к выводу, что вряд ли какой-либо пользователь будет наблюдать, еще меньше будет раздражать, и абсолютно никто не будет критиковать продукт за это. Итак, мы живем с этим, но если вы найдете решение, пожалуйста, опубликуйте его.
Ответ №1:
Не могли бы вы добавить свой слой наложения к слою супервизора сегментированного элемента управления? Или, может быть, суперслой слоя сегментированного элемента управления?