看看这能玩gta5的电脑配置的怎么样

ios7 新出来的根据label的文字和字体大小来确定label的宽高。
官方的方法是:
- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context NS_AVAILABLE_IOS(7_0);
其中NSStringDrawingOptions有四个枚举值:
typedef NS_OPTIONS(NSInteger, NSStringDrawingOptions) {
 // 如果文本内容超出指定的矩形限制,文本将被截去并在最后一个字符后加上省略号。如果没有指定NSStringDrawingUsesLineFragmentOrigin选项,则该选项被忽略
NSStringDrawingTruncatesLastVisibleLine = 1 && 5, // Truncates and adds the ellipsis character to the last visible line if the text doesn't fit into the bounds specified. Ignored if NSStringDrawingUsesLineFragmentOrigin is not also set.
// 绘制文本时使用 line fragement origin 而不是 baseline origin
NSStringDrawingUsesLineFragmentOrigin = 1 && 0, // The specified origin is the line fragment origin, not the base line origin
// 计算行高时使用行距。(译者注:字体大小+行间距=行距)
NSStringDrawingUsesFontLeading = 1 && 1, // Uses the font leading for calculating line heights
// 计算布局时使用图元字形(而不是印刷字体)。
NSStringDrawingUsesDeviceMetrics = 1 && 3, // Uses image glyph bounds instead of typographic bounds
} NS_ENUM_AVAILABLE_IOS(6_0);
attributes是文本字体的属性:该参数要设置字体的大小。
context是上下文对象,用于包含信息:如何调整字间距以及缩放。最终,该对象包含的信息将用于文本绘制。该参数可为 nil。&
NSDictionary *attributes1 = @{NSFontAttributeName:[UIFont systemFontOfSize:20],
NSForegroundColorAttributeName:[UIColor redColor]
UILabel *titleLabel = [UILabel new];
titleLabel.text =
@"德玛西亚万岁,断剑重铸之日,骑士归来之时,我们要以困难的方式搞定他。我本可以打的轻一点!";
titleLabel.numberOfLines = 0;//多行显示,计算高度
titleLabel.textColor = [UIColor blackColor];
titleLabel.backgroundColor = [UIColor greenColor];
CGSize titleSize = [titleLabel.text boundingRectWithSize:CGSizeMake(300, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:attributes1 context:nil].
titleLabel.frame = CGRectMake(10, 64, titleSize.width, titleSize.height);
[self.view addSubview:titleLabel];
效果图如下:
阅读(...) 评论()UIKit框架-基础控件Swift版本: 3.UILabel方法/属性详解
前面我们讲解了UI基础控件的UIButton, 现在让我们继续往下讲:
1.UILabel的状态
内容的显示模式
enum NSLineBreakMode : Int {
case ByWordWrapping
case ByCharWrapping
case ByClipping
case ByTruncatingHead
case ByTruncatingTail
case ByTruncatingMiddle
内容的位置(默认的文字纵向距离考上)
enum UIBaselineAdjustment : Int {
case AlignBaselines
case AlignCenters
字体样式(默认是正常字体)
class func systemFontOfSize(fontSize: CGFloat) -& UIFont
class func boldSystemFontOfSize(fontSize: CGFloat) -& UIFont
class func italicSystemFontOfSize(fontSize: CGFloat) -& UIFont
文字排序(默认是Left)
enum NSTextAlignment : Int {
case Center
case Right
case Justified
case Natural
2.常用属性:
以下就是我们在实际开发中最常用到的UILabel的属性:
var text: String?
var font: UIFont!
var textColor: UIColor!
var shadowColor: UIColor?
var shadowOffset: CGSize
var textAlignment: NSTextAlignment
var lineBreakMode: NSLineBreakMode
var enabled: Bool
var highlightedTextColor: UIColor?
var highlighted: Bool
var numberOfLines: Int
var adjustsFontSizeToFitWidth: Bool
3.实现代码
由于前面已经把如何创建工程介绍了, 这里就不多做第二次介绍了, 下面让我们直接来看代码:
func myLabel() {
var label: UILabel = UILabel(frame: CGRectMake(50, 200, 200, 200))
label.backgroundColor = UIColor.brownColor()
label.text = "Hello everybody, I'm Label"
label.textColor = UIColor.whiteColor()
label.numberOfLines = 0
label.baselineAdjustment = UIBaselineAdjustment.None
label.font = UIFont.systemFontOfSize(20)
label.textAlignment = NSTextAlignment.Natural
label.highlightedTextColor = UIColor.greenColor()
label.highlighted = true
label.lineBreakMode = NSLineBreakMode.ByWordWrapping
self.view.addSubview(label)
override func viewDidLoad() {
super.viewDidLoad()
self.myLabel()
最终的效果:
没有高亮时的状态
高亮时的状态:
好了, 这次我们就讲到这里, 下次我们继续~~
看过本文的人也看了:
我要留言技术领域:
取消收藏确定要取消收藏吗?
删除图谱提示你保存在该图谱下的知识内容也会被删除,建议你先将内容移到其他图谱中。你确定要删除知识图谱及其内容吗?
删除节点提示无法删除该知识节点,因该节点下仍保存有相关知识内容!
删除节点提示你确定要删除该知识节点吗?iOS开发中使用UILabel设置字体的相关技巧小结
作者:芳仔小脚印
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了iOS开发中UILabel设置字体的相关技巧小结,代码基于传统的Objective-C,需要的朋友可以参考下
一、初始化
UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(40, 40, 120, 44)];
[self.view addSubview:myLabel];
二、设置文字
1、设置默认文本
NSString *text = @"标签文本";
myLabel.text =
2、设置标签文本(此属性是iOS6.0之后才出现,如若不是必要,不建议使用此属性)
NSString *text = @"其实没什么";
NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:text];
[attributeString setAttributes:@{NSForegroundColorAttributeName : [UIColor redColor],&& NSFontAttributeName : [UIFont systemFontOfSize:17]} range:NSMakeRange(2, 1)];
myLabel.attributedText = attributeS
关键字标红的效果
NSString *keyword = @"开源";
NSString *result = @"开源中国社区";
// 设置标签文字
NSMutableAttributedString *attrituteString = [[NSMutableAttributedString alloc] initWithString:result];
// 获取标红的位置和长度
NSRange range = [result rangeOfString:keyword];
// 设置标签文字的属性
[attrituteString setAttributes:@{NSForegroundColorAttributeName : [UIColor redColor],&& NSFontAttributeName : [UIFont systemFontOfSize:17]} range:range];
// 显示在Label上
label.attributedText = attrituteS
3、设置字体,如果是使用②中的文本,那在设置AttributeString的属性时已经设置过Font了和textColor了,直接使用①设置文本时设置文本时,设置字体方法
myLabel.font = [UIFont systemFontOfSize:13];
4、设置颜色
myLabel.textColor = [UIColor blueColor];
5、设置对齐方式
myLabel.textAlignment = NSTextAlignmentC//居中
NSTextAlignmentLeft //左对齐
NSTextAlignmentCenter //居中
NSTextAlignmentRight& //右对齐
NSTextAlignmentJustified//最后一行自然对齐
NSTextAlignmentNatural //默认对齐脚本
NSTextAlignmentJustified和 NSTextAlignmentNatural用的时候会报错,程序崩溃,暂时不知道什么时候可以使用,希望知道的指教一下,感激不尽。
5、文字剪裁方式
NSLineBreakByWordWrapping = 0,//以空格为边界,保留单词
NSLineBreakByCharWrapping,&&& //保留整个字符
NSLineBreakByClipping,&&&&&&& //简单剪裁,到边界为止
NSLineBreakByTruncatingHead,& //按照"……文字"显示
NSLineBreakByTruncatingTail,& //按照"文字……文字"显示
NSLineBreakByTruncatingMiddle //按照"文字……"显示
myLabel.lineBreakMode = NSLineBreakByTruncatingH
7、设置Label enabled属性
如果设置为No,则文字颜色会变暗,表明其是不可用的,默认值为YES。
myLabel.enabled = NO;
三、匹配Label上的文字
1、是否根据文本宽度改变字体大小
myLabel.adjustsFontSizeToFitWidth = YES;
//假设文字内容为@"曾在月光之下望烟花,曾共看夕阳渐降下",Label长度为200,则一行显示不下,若设置此属性为YES,则会降低字体大小,以显示全部内容。
前后对比:
2、改变字母之间的间距来适应label大小
//当这个属性是YES,标签可能改变标签文本的字母间距,以使该文本更适合标签的边界内。此属性的字符串,而不管当前行的行的裁剪模式。该属性的默认值是NO。
myLabel.adjustsLetterSpacingToFitWidth = NO;
//个人使用了一下,没发现有什么区别,不知道具体是什么时候发挥作用。
3、设置对齐基线
myLabel.adjustsFontSizeToFitWidth = YES;//调整基线位置需将此属性设置为YES
myLabel.baselineAdjustment = UIBaselineAdjustmentAlignB
此属性有三个值可选
UIBaselineAdjustmentAlignBaselines //文本最上端与Label中线对齐,默认值
UIBaselineAdjustmentAlignCenters&& //文本中线与Label中线对齐
UIBaselineAdjustmentNone&&&&&&&&&& //文本最下端与Label中线对齐
4、最小字体大小,当字体小于这个最小值时无效,显示此属性值
iOS6.0之前:minimumFontSize
iOS6.0之后:minimumScaleFactor
myLabel.minimumScaleFactor = 10.0;//默认值为0,为当前字体大小
myLabel.numberOfLines = 2;//Label行数
myLabel.highlighted = YES;//是否高亮
myLabel.highlightedTextColor = [UIColor redColor];//高亮颜色;此属性在设置按钮的titleLabel时,无论highlighted是YES还是NO,在按钮按下时标题都显示此高亮颜色
myLabel.shadowColor = [UIColor grayColor];//阴影颜色,默认为nil
myLabel.shadowOffset = CGSizeMake(1, 1);//阴影的偏移点
四、Label位置
1、计算UIlabel 随字体多行后的高度
CGRect result,
bounds = CGRectMake(0, 0,200, 300);
heightLabel = [myLabel textRectForBounds:bounds limitedToNumberOfLines:20];//计算20行后的Label的Frame
NSLog(@"%f",heightLabel.size.height);
2、绘制text到指定区域
- (void)drawTextInRect:(CGRect)rect
//需要重载此方法,然后由子类调用,重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super了
PS:关于字体名字的问题
在iOS下使用自定义字体比较蛋疼的就是名字不知道是什么,大部分字体可以在打开字体册就可以看到,如正常的XXX-Regular,但有时候名字并不是这个,有可能是XXX而已,还有可能是XXXItalic(而不是XXX-Italic)。名字错了,建立的字体肯定是空的。
那怎么办呢?
有办法的,有一段代码可以把当前所有的字体名字输出来。
1.把XXX字体加入到resouce;
<.plist的Fonts provided by application里面加入字体文件名
3.运行下面代码
&&& NSArray *familyNames = [UIFont familyNames];
&&& for( NSString *familyName in familyNames ){
&&&&&&& printf( "Family: %s \n", [familyName UTF8String] );
&&&&&&& NSArray *fontNames = [UIFont fontNamesForFamilyName:familyName];
&&&&&&& for( NSString *fontName in fontNames ){
&&&&&&&&&&& printf( "\tFont: %s \n", [fontName UTF8String] );
4.找到你的字体XXX,如下,Font:后面的就是我们要的字体名字
Family: Courier New
Font: CourierNewPSMT
Font: CourierNewPS-BoldMT
Font: CourierNewPS-ItalicMT
Font: CourierNewPS-BoldItalicMT
Family: Oriya Sangam MN
Font: OriyaSangamMN
Font: OriyaSangamMN-Bold
5.自然是使用,如
UIFont *font_regular = [UIFont fontWithName:@"CourierNewPS-ItalicMT" size:84];
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具求助,swift中怎么让UILabel自适应高度-学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
> 信息中心 >
求助,swift中怎么让UILabel自适应高度
来源:互联网 发表时间: 15:03:45 责任编辑:鲁晓倩字体:
为了帮助网友解决“求助,swift中怎么让UILabel自适应高度”相关的问题,学网通过互联网对“求助,swift中怎么让UILabel自适应高度”相关的解决方案进行了整理,用户详细问题包括:RT,我想知道:求助,swift中怎么让UILabel自适应高度,具体解决方案如下:解决方案1://初始化labelUILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)];//设置自动行数与字符换行[label setNumberOfLines:0];label.lineBreakMode = UILineBreakMod俯恭碘枷鄢磺碉委冬莲eWordW // 测试字串 NSString *s = @&这是一个测试!!!UIFont *font = [UIFont fontWithName:@&Arial& size:12];//设置一个行高上限CGSize size = CGSizeMake(320,2000);//计算实际frame大小,并将label的frame变成实际大小 CGSize labelsize = [s sizeWithFont:font constrainedToSize:size lineBreakMode:UILineBreakModeWordWrap];[label setFrame:CGRectMake:(0,0, labelsize.width, labelsize.height)];
1个回答1个回答1个回答1个回答2个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答
相关文章:
最新添加资讯
24小时热门资讯
Copyright &#169; 2004- All Rights Reserved. 学网 版权所有
京ICP备号-1 京公网安备02号

我要回帖

更多关于 能玩gta5的电脑配置 的文章

 

随机推荐