UITextField右框架 [英] UITextField right frame
本文介绍了UITextField右框架的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一段这样的代码:
CGSize lSize = [@"Hello World" sizeWithFont:[UIFont fontWithName:@"Arial" size:13]];
现在,我想有一个正确的框,以在UITextField
中看到此文本.我不想更改字体大小,只为UITextField
设置框架以适合此文本.
Now I want to have the right frame to see this text in the UITextField
. I don't want to change the font size just have the frame for UITextField
to fit with this text.
我将非常感谢您的帮助
推荐答案
#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的宽度:
From here you can either adjust the width of your textField:
[textField setFrameSize:NSMakeSize(size.width,textField.frame.size.height)];
或者您可以根据大小在计算出的点处绘制文本:
Or you can draw the text at a calculated point based on the size:
point = CGPointMake(textXPosition, textYPosition);
[string drawAtPoint:point
forWidth:MAX_TEXT_WIDTH
withFont:mainFont
minFontSize:actualFontSize actualFontSize:&actualFontSize
lineBreakMode:UILineBreakModeTailTruncation
baselineAdjustment:UIBaselineAdjustmentAlignBaselines];
这篇关于UITextField右框架的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文