的UITextField右侧框架

问题描述:

我有一段这样的代码:的UITextField右侧框架

CGSize lSize = [@"Hello World" sizeWithFont:[UIFont fontWithName:@"Arial" size:13]]; 

现在我想有合适的框架,看看在UITextField这个文本。我不想更改字体大小只需要框架UITextField以适应此文本。

我将非常感谢所有帮助

#define MAIN_FONT_SIZE  17 
#define MIN_MAIN_FONT_SIZE 11 
#define MAX_TEXT_WIDTH  100 

CGPoint point; 
CGFloat actualFontSize; 
CGSize size; 

UIFont *mainFont = [UIFont systemFontOfSize:MAIN_FONT_SIZE]; 

NSString *string = @"A String Of Text"; 
size = [string sizeWithFont:mainFont 
      minFontSize:MIN_MAIN_FONT_SIZE 
      actualFontSize:&actualFontSize 
      forWidth:MAX_TEXT_WIDTH 
      lineBreakMode:UILineBreakModeTailTruncation]; 

从这里你可以调整你的文本框的宽度:

[textField setFrameSize:NSMakeSize(size.width,textField.frame.size.height)]; 

或者你可以根据尺寸来计算点绘制文本:

point = CGPointMake(textXPosition, textYPosition); 
[string drawAtPoint:point 
       forWidth:MAX_TEXT_WIDTH 
       withFont:mainFont 
       minFontSize:actualFontSize actualFontSize:&actualFontSize 
       lineBreakMode:UILineBreakModeTailTruncation 
       baselineAdjustment:UIBaselineAdjustmentAlignBaselines];