您的位置:首页 > 编程语言

如果实现 类似 windows下面的 GetTextExtent的功能

2011-05-28 23:02 453 查看
                                                            如果实现 类似 windows下面的 GetTextExtent的功能

 

 在我们进行界面编程的过程中,经常会遇到要动态计算出某段text在指定的控件里面所占用的 范围。这种功能在windows下面其实可以用

GetTextExtent函数来实现,但是在iphone中,我们必须按照下面的方法来自己计算。

 

 

  方法:

   1。  我们首先需要获得 控件的font

 

   2。  利用获得的font,我们使用NSString的函数 

- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode  

         来计算占用的区域大小。

 

    关于:size参数,size.width是只X方向的最大值,size.height是指Y方向的最大值。一般width就是控件的最大宽度稍微减去一点,而height则尽量大,因为一般都是宽度固定好了,而只是需要计算出控件的所需要的高度。

 

 

  例子代码如下:

  
UIFont * labelFont=Label_.font;
CGSize size = [Label_.text sizeWithFont:labelFont constrainedToSize:CGSizeMake(320.0f, 1000.0f) lineBreakMode:  UILineBreakModeWordWrap];
Label_.frame=CGRectMake(251, 39, size.width, size.height);
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  windows iphone 编程