2012-07-01 54 views
0

我的問題很簡單。我有一個矩形,例如。 (0.0,0.0,300,45),並且需要繪製一個字符串,例如, 「矩形」中心的「文字」。 「文本」的高度必須符合矩形的高度。如何在矩形中繪製和縮放文字

最難的部分是:矩形可以縮放。 「文本」的大小必須縮放爲矩形的大小。

我可以在矩形如下編碼的中心畫線,但難點是我不能管理「文本」字體大小改變矩形大小。

[@ 「文本」 drawInRect:textRect withFont:字體];

我想在一個矩形中繪製文本,而不是標籤,用戶可以用他的手指縮放矩形大小,最後,我將在圖像上繪製文本,我認爲標籤不適用於這些函數。

任何人都有很好的解決方案?

謝謝!

更新:

其實,我需要在規模上繪製大的圖像文本,而不是隻顯示它的iPhone屏幕上,請看看下面的代碼:

UIImageVIew *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320, 320)]; 

imageView.image = [UIImage imageNamed:@"LargeSizeImage"]; // Image size = 2048 *2048 

[self.view addSubview:imageView]; 

UILabel *textLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 300, 45)]; 

textLabel.text = @"Text"; 

[self.view addSubviews:textLabel]; 

// Draw text on image 

UIGraphicsBeginImageCurrentContext(imageView.image.size);(2048 * 2048) 

[imageView.image drawInRect:CGRectMake(0, 0, 2048, 2048)]; 

CGRect scaleRect = CGRectMake(10 * scaleFactor, 10 *scaleFactor, textLabel.bounds.size.width * scaleFactor, text.Label.bounds.size.height *scaleFactor); 

UIFont *font = [UIFont systemOfSize:**?**]; 

[textLabel.text drawInRect:scaleRect withFont:font]; 

... ........ ........... ...........

我的問題是如何確定字體大小?

+0

我想繪製文本的矩形,沒有標籤,用戶可以擴展用手指矩形大小,最後,我會在規模上繪製圖像上的文字,我覺得標籤不是爲這些功能。 – rohou

+0

將您的代碼放入代碼框。突出顯示您的代碼並按下{}}按鈕 –

+0

你有沒有想過這個? –

回答

1
UILabel *text = [[UILabel alloc] initWithFrame:CGRectMake(0.0, 0.0, 300, 45)]; 
text.backgroundColor = [UIColor clearColor]; 
text.font = [UIFont systemFontOfSize:45]; 
text.textAlignment = UITextAlignmentCenter; 
text.text = @"TEXT"; 
[self.view addSubview:text]; 

可能會讓你感興趣的效果。

編輯

其實,如果你調整你方可以動態地大小的文本。在該方法中,您只需爲UILabel添加這些代碼行來調整大小。

text.frame = CGRectMake(0.0, 0.0, rect.frame.size.width, rect.frame.size.height); 
text.font = [UIFont systemFontOfSize:rect.frame.size.height]; 

矩形是我用來描述你正在調整大小的矩形。

+0

我想在矩形中繪製文本,而不是標籤,用戶可以用他的手指縮放矩形大小,最後,我將在圖像上繪製文本,我認爲標籤不適用於這些功能。 – rohou

+0

我更新了我的答案。看看這是否會對你有用。 –

+0

請看我的更新。 – rohou