NSRangeException при установке CurrentPageIndicatorTintColor UIPageControl
Я пытаюсь изменить свойства цвета объекта UIPageControl
из кода. Однако он терпит крах. Настройка свойств из конструктора интерфейсов работает просто отлично.
Код:
float x = isLight ? 0.8f : 0.2f;
UIColor markedColor = UIColor.FromRGB (x, x, x);
pageControll.CurrentPageIndicatorTintColor = markedColor;
pageControll.PageIndicatorTintColor = isLight ? UIColor.White : UIColor.Black;
Ошибка, которую я получаю (в третьей строке):
Objective-C exception thrown. Name: NSRangeException Reason: *** -[__NSArrayM objectAtIndex:]: index 4294967295 beyond bounds for empty array
Есть идеи?
1 ответ:
Нашел проблему. Похоже, это ошибка в SDK.
Поскольку я еще не получил данных для "заполнения" UIPageControl, свойствоPages
было установлено в 0. Изменение этого значения на 1 решило проблему.float x = isLight ? 0.8f : 0.2f; UIColor markedColor = UIColor.FromRGB (x, x, x); if (pageControll.Pages < 1) { pageControll.Pages = 1; } pageControll.CurrentPageIndicatorTintColor = markedColor; pageControll.PageIndicatorTintColor = isLight ? UIColor.White : UIColor.Black;