2015-03-19 165 views
0

我正在做一個日曆應用程序。在年份頁面中,我想每年顯示12個月,每個月顯示30天。自動適合UILabel文本大小,以適應UILabel寬度

這裏有幾個問題:

1.Now我想30天加入到一個的UILabel與[nsstring stringbyappendingstring],但如何自動適應每一天之間的間隙?

我只能得到像

1 || 2 || || 3 4 5 || || || 6 7

8 || || 9 10 11 || || 12 || 13 || 14

我希望它看起來像

1 || 2 || 3 || 4 || 5 || 6 || 7

8 || 9 || || 10 11 12 || || || 13 14

|| < - 這意味着每個差距

2.or我應該爲每一天添加uilabel?

任何人都可以幫助我,請!

回答

1

您只需要使用一個標籤,以顯示其所需的間隔

1)創建一個多標籤的所有日期,設置它的寬度。

2)通過使用stringByAppendingsString和所需的間距附加所有日期來創建一個字符串。

3)通過保持它的固定使用以下API-寬度計算標籤的高度

#define LABELS_MAX_HEIGHT    10000.0f 


CGSize constraintSize = CGSizeMake(label.frame.size.width, LABELS_MAX_HEIGHT); 

NSAttributedString *attributedText = [[[NSAttributedString alloc] initWithString:datesString attributes:@{NSFontAttributeName: label.font}] autorelease]; 
     CGRect rect = [attributedText boundingRectWithSize:constraintSize 
                options:NSStringDrawingUsesLineFragmentOrigin 
                context:nil]; 
     [label setSize:rect.size]; 
相關問題