我正在尝试从代码中更改UIPageControl
对象的颜色属性。然而它崩溃了。从Interface Builder设置属性就可以了。
代码:
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
有什么想法吗?
答案 0 :(得分:10)
发现问题。似乎是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;