相关疑难解决方法(0)

UILabel中文本的像素宽度

我需要绘制一个UILabel.因此,我将UILabel子类化并实现如下:

@implementation UIStrikedLabel

- (void)drawTextInRect:(CGRect)rect{
    [super drawTextInRect:rect];

    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextFillRect(context,CGRectMake(0,rect.size.height/2,rect.size.width,1));
}
@end
Run Code Online (Sandbox Code Playgroud)

会发生的事情是,UILabel的线条与整个标签一样长,但文本可以更短.有没有办法确定文本的长度(以像素为单位),以便可以适当地绘制线条?

我也对任何其他解决方案持开放态度,如果已知:)

最好的,Erik

iphone objective-c uilabel

77
推荐指数
2
解决办法
5万
查看次数

什么是 - [NSString sizeWithFont:forWidth:lineBreakMode:]有用吗?

在我的问题" 我如何-[NSString sizeWithFont:forWidth:lineBreakMode:]开始工作? "中,我了解到这-[NSString sizeWithFont:constrainedToSize:lineBreakMode:]实际上就是我所需要的.

-[NSString sizeWithFont:forWidth:lineBreakMode:]州的文档解释说它实际上并没有将文本包装到其他行.那我该如何使用呢?(例子会有所帮助.)

iphone cocoa-touch objective-c

38
推荐指数
2
解决办法
4万
查看次数

根据文本的总宽度调整UILabel的大小

我如何根据它的字体大小和标签文本中的字符数来预测UILabel所需的宽度.

我已经看到了一些这样做的例子,但它们都是客观的 - 不是swift 3.0.

我找到了这个方法,但它是在objective-c中,我在实现它时遇到了麻烦.

CGFloat width =  [label.text sizeWithFont:[UIFont systemFontOfSize:17.0f]].width;
Run Code Online (Sandbox Code Playgroud)

有什么建议?

xcode uilabel ios swift

2
推荐指数
1
解决办法
3038
查看次数

标签 统计

iphone ×2

objective-c ×2

uilabel ×2

cocoa-touch ×1

ios ×1

swift ×1

xcode ×1