2012-07-01 34 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