ios7中的UILabel自适决定大小

UILabel * testlable = [[UILabel alloc]initWithFrame:CGRectMake(10,20,200,20)];

   

   NSString * tstring [email protected]"UILabel 
ios7
与ios7之前实现自适应撑高的方法,文本的内容长度不一,我们需要根据内容的多少来自动换行处理。在IOS7下要求font,与breakmode与之
前设置的完全一致sizeWithFont:font constrainedToSize:size
lineBreakMode:NSLineBreakByCharWrapping"
;

   

   testlable.numberOfLines =2;

   

   UIFont * tfont = [UIFont systemFontOfSize:14];

   

   testlable.font = tfont;

   

   testlable.lineBreakMode =NSLineBreakByTruncatingTail ;

   

   testlable.text = tstring ;

   [testlable setBackgroundColor:[UIColor redColor]];

   

   [self.view addSubview:testlable];

   

   //高度估计文本大概要显示几行,宽度根据需求自己定义。 MAXFLOAT 可以算出具体要多高

   

   CGSize size =CGSizeMake(300,60);

   

   // label可设置的最大高度和宽度

   //    CGSize size = CGSizeMake(300.f, MAXFLOAT);

   //    获取当前文本的属性

   

   NSDictionary * tdic = [NSDictionary dictionaryWithObjectsAndKeys:tfont,NSFontAttributeName,nil];

   

   //ios7方法,获取文本需要的size,限制宽度

   

   CGSize 
actualsize =[tstring boundingRectWithSize:size
options:NSStringDrawingUsesLineFragmentOrigin  attributes:tdic
context:nil].size;

   

   // ios7之前使用方法获取文本需要的size,7.0已弃用下面的方法。此方法要求font,与breakmode与之前设置的完全一致

   //    CGSize actualsize = [tstring sizeWithFont:font constrainedToSize:size lineBreakMode:NSLineBreakByCharWrapping];

   //   更新UILabel的frame

   

   

   testlable.frame =CGRectMake(10,20, actualsize.width, actualsize.height);

时间: 2024-10-13 03:07:31

ios7中的UILabel自适决定大小的相关文章

iOS7中计算UILabel中字符串的高度

iOS7中出现了新的方法计算UILabel中根据给定的Font以及str计算UILabel的frameSize的方法.本人提供category如下: UILabel+StringFrame.h ////  UILabel+StringFrame.h//  LabelHeight////  Copyright (c) 2014年 Y.X. All rights reserved.//#import <UIKit/UIKit.h>@interface UILabel (StringFrame)- 

IOS7中动态计算UILable的高度

.h文件 #import <UIKit/UIKit.h> @interface UILabel (ContentSize) - (CGSize)contentSize; @end .m文件 #import "UILabel+ContentSize.h" @implementation UILabel (ContentSize) - (CGSize)contentSize { NSMutableParagraphStyle * paragraphStyle = [[NSMut

iOS7中Objective-C和Foundation的新特性

转自kingzwt2009的专栏 注意事项(Ray):文章来自iOS 7 by Tutorials  iOS 7Feast的一部分(略) Objective-C 是最重要的iOS和OSX apps的开发工具.你可以使用其他语言的第三方框架开发apps,例如HTML&Javascript或者C#,但是如果你很快的写出一个超炫的高效率的原声apps你就需要使Objective-C. Foundation 是你开发Objective-C应用时用到的核心框架之一. 作为一名iOS开发者,非常有必要了解最

HMTL5的 video 在IOS7中碰到的坑

直接说问题吧, 测试设备,ipod 我们在移动端播放视频的时候,一般使用H5的video标签,OK,这里有几点差异(就我目前所发现的)给大家分享一下, 1.在IOS7中,video元素是需要确定大小的(宽高都需要),否则,你就会看到一个很小的视频在那恶心你, 我们在写代码调试的时候一般是使用chrome打开的,所以感觉写完了,没定宽高,或者只定了个width:100% 什么之类的,OK没什么问题,但是拿到手机设备上确实是有问 题的,所以,要定尺寸!!! 2.在IOS7上还有一个特别让我恶心的地方

iOS7中UIView的animateKeyframesWithDuration方法讲解

在iOS7中,给UIView添加了一个方法用来直接使用关键帧动画而不用借助CoreAnimation来实现,那就是animateKeyframesWithDuration 以下是使用源码: // // ViewController.m // // Created by YouXianMing on 14/11/26. // Copyright (c) 2014年 YouXianMing. All rights reserved. // #import "ViewController.h"

malloc中 heap block 的 blocksize 大小问题

heap block 引发的思考 问题背景: Implicit Free Lists Any practical allocator needs some data structure that allows it to distinguish block boundaries and to distinguish between allocated and free blocks. Most allocators embed this information in the blocks the

iOS7中Cell高度 Label高度自适应

? 1 2 3 4 5 6 7 8 9 10 11 12 ?- (float)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{     NSString *str = [_dataArray objectAtIndex:indexPath.row];     UIFont *tfont = [UIFont systemFontOfSize:14.0];     NSDictio

ios7中 丰富多彩的UIViewController之间的切换

转载自:http://onevcat.com/2013/10/vc-transition-in-ios7/ 毫无疑问,ViewController(在本文中简写为VC)是使用MVC构建Cocoa或者CocoaTouch程序时最重要的一个类,我们的日常工作中一般来说最花费时间和精力的也是在为VC部分编写代码.苹果产品是注重用户体验的,而对细节进行琢磨也是苹果对于开发者一直以来的要求和希望.在用户体验中,VC之间的关系,比如不同VC之间迁移和转换动画效果一直是一个值得不断推敲的重点.在iOS7中,苹

ios7中使用scrollview来横向滑动图片,自动产生偏移竖向的偏移 问题

ios7中使用scrollview来横向滑动图片,自动产生偏移竖向的偏移 问题 如图红色为scrollview的背景色,在scrollview上加了图片之后,总会有向下的偏移 设置contentOffset也不管用 在ios7中controller有个 automaticallyAdjustsScrollViewInsets属性,默认为YES if (iOS7&&[self respondsToSelector:@selector(automaticallyAdjustsScrollVie