的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];