蘋果的drawTextInRect文檔似乎表明這是可能的。可以重寫UILabel的drawTextInRect方法來更改UILabel文本的大小嗎?
「通過這種方法被調用的時候,當前圖形上下文已與默認環境和文本顏色繪製配置在你重寫的方法,你可以進一步配置當前的上下文,然後調用super來做實際的繪圖,或者你可以自己做繪圖,如果你自己渲染文本,你不應該調用super。「
但是從我的UILabel子類下面的例子(我已經證實是獲取調用)不會導致文本大小,無論我指定哪些文本大小而改變。我是否抓住了正確的環境,或者錯過了更大的東西?
- (void)drawTextInRect:(CGRect)rect{
CGContextRef theContext = UIGraphicsGetCurrentContext();
CGContextSetFontSize(theContext, 32.0); // <-- doesn't change text size
[super drawTextInRect:rect];
}
注 - 文本大小不是我需要改變有關文本的唯一的事情,但如果我能得到的文本大小來改變我敢肯定,我需要做其餘的改動會很容易。
我只是試圖讓drawTextInRect做任何事*。我真正的目標是讓UILabel文本具有一個像素的黑色輪廓邊框: http://stackoverflow.com/questions/1103148/how-do-i-make-uilabel-display-outlined-text – 2009-07-10 09:47:52