2012-06-16 277 views
0

我想畫上了屏幕上的某個位置「文本」,而無需使用UILabel,所以但是我drawAtPoint,澄清需要

[@"text" drawAtPoint:CGPointMake(100, 200) 
    withFont:[UIFont fontWithName:@"Arial" size:10.0]]; 

什麼也不顯示,雖然的drawAtPoint說明上寫着:

使用指定的字體在當前圖形上下文中的指定點處單行繪製字符串。

我懷疑,我的錯誤是,我稱它在我的UIViewController'sviewDidLoad方法,而不是放置到有何看法? (但怎麼樣?)

再次,使用這種方法,並避免使用UILabel,如何可以將文本放置在自定義位置的屏幕上?

回答

2

如果你想畫一個字符串到一個視圖,你需要子類中的視圖,並實現drawRect方法

- (void)drawRect:(CGRect)rect 
{ 
    // Drawing code 
    [[UIColor whiteColor] set]; 
    [@"Your string" drawInRect:CGRectMake(0, 0, 100, 100) withFont:[UIFont systemFontOfSize:16]]; 
} 

未放置到有何看法? (怎麼會呢?)

它,因爲該字符串將在CURENT背景下是有效的,當你在drawRect中調用它,如果你調用[@「你的字符串」 drawInRec ......從viewDidLoad中可以得出它不會工作,因爲你沒有一個有效的上下文

再次使用這種方式並避免使用的UILabel的,怎麼能文本 在自定義的位置放置在屏幕上?

使用NSString來回拉,而不是UILabel,並且可以使用drawInRect:withFont

+0

+1:且看http://developer.apple.com/library/ios/#samplecode/Formulaic/Introduction/Intro。用於Apple示例代碼的html#// apple_ref/doc/uid/DTS40008932-Intro-DontLinkElementID_2。 –

+1

歡迎您:) –