2014-01-18 35 views
4

我試圖從代碼更改UIPageControl對象的顏色屬性。但它崩潰。從界面生成器中設置屬性工作得很好。當設置UIPageControl的CurrentPageIndicatorTintColor時出現NSRangeException

代碼:

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

任何想法?

回答

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; 
+1

剛剛在這廢話上浪費了太多時間。這是一個錯誤! – d370urn3ur

+0

只發生在IOS8上(至於我的觀察) –

相關問題