IOS Label 自动换行 IOS6和IOS7

IOS 6和ios7 不一样,所以,我们分开来:

IOS6:

//计算实际frame大小,并将label的frame变成实际大小
    CGSize size01 = [ssizeWithFont:[UIFontsystemFontOfSize:15.0f]constrainedToSize:sizelineBreakMode:NSLineBreakByWordWrapping];

    [label setFrame:CGRectMake(10,50, size01.width, size01.height)];

IOS7:

 UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 46)];
    NSString *str=@"发恶无法奶奶问服务就啃发觉我看能否尽快稳罚款金额为你放假";
    label.text=str;
    UIFont *font=[UIFont systemFontOfSize:15];
    label.font=font;

    //拆行
    label.lineBreakMode=NSLineBreakByWordWrapping;
    //设置多行
    [label setNumberOfLines:0];

    //设置最大尺寸的宽和高
    CGSize size=CGSizeMake(100, 1000);
    //获取当前字体
    NSDictionary *[email protected]{NSFontAttributeName: [UIFont systemFontOfSize:15]};
    CGSize authSize=[str boundingRectWithSize:size
                                       options:NSStringDrawingUsesLineFragmentOrigin
                                    attributes:dict
                                       context:nil].size;
    label.frame=CGRectMake(20, 70, authSize.width, authSize.height);
    [self.view addSubview:label];
时间: 2024-08-01 23:23:14

IOS Label 自动换行 IOS6和IOS7的相关文章

iOS开发之iOS6.0\iOS7.0\iOS8.0的UIAlertView message 文字对齐设置

是不是发现原来这段代码: #pragma mark - #pragma mark - alert delegate - (void) willPresentAlertView:(UIAlertView *)alertView { for (UIView *subViewin alertView.subviews) { UILabel *tmpLabel = (UILabel *)subView; tmpLabel.textAlignment =NSTextAlignmentLeft; } } 在

iOS:如何让xib同时兼容支持iOS6和iOS7

做法如下: 1. 取消xib的Use Autolayout属性的勾选: 2. 将xib中每一个子控件(没错,每一个控件,包括UIButton.UILabel等等),将它们的Y Frame的值全部增加20.然后将它们的ΔY值全部设为-20. 就是这样. iOS:如何让xib同时兼容支持iOS6和iOS7

iOS6和iOS7环境下微信登录未显示问题&微信IOS的SDK:isWXAppInstalled总是返回NO和nil

一.问题描述: iOS6和iOS7 环境下未显示微信登录界面,在其他环境下显示正常. 二.问题解决: iOS6和7未出现微信登录按钮, 原因 [WXApi isWXAppInstalled] 返回nil和NO: if ([WXApi isWXAppInstalled]) { ... } 修改为如下判断URL: if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"weixin://"]]) {

iOS6和iOS7代码的适配(1)——坐标适配

由于iOS7里面status bar和视图是重叠在一起了,所以应用的y坐标就没法和以前一致了,需要重新计算设定.基本上,你的应用用Xcode5运行一下就能看见这个问题,这里写了一个最简单的例子,一个View上加了一个Label控件,分别在iOS6和iOS7的模拟器上的样子. 从图上明显可以看到,iOS7上的应用y坐标起始计算点是从屏幕顶点算起,而iOS6是从status bar来算起,这个原因是导致一切问题的根源. 好了,找到了问题就好办,我列举一下看到过的尝试过的方法: 1. 修改window

iOS6和iOS7代码的适配(3)——坐标适配

由于iOS7里面status bar和视图是重叠在一起了,所以应用的y坐标就没法和以前一致了,需要重新计算设定.基本上,你的应用用Xcode5运行一下就能看见这个问题,这里写了一个最简单的例子,一个View上加了一个Label控件,分别在iOS6和iOS7的模拟器上的样子. 从图上明显可以看到,iOS7上的应用y坐标起始计算点是从屏幕顶点算起,而iOS6是从status bar来算起,这个原因是导致一切问题的根源. 好了,找到了问题就好办,我列举一下看到过的尝试过的方法: 1. 修改window

iOS6和iOS7代码的适配(1)

苹果的iOS7推出后,对于所有的应用来说都提出了一个天然的需求——适配不同版本的SDK.目前来说,用iOS6的SDK生成的应用,可以在iOS7的系统上跑,UI上也保持了原来的风格样式,这是苹果做的向下兼容,不过不要小看苹果推行iOS7的决心——苹果发布消息,2014年2月1日开始,AppStore上不接受不是Xcode5的提交. 这样,苹果给所有的开发者留下的就是华山一条路了——升级你的系统吧,Mac10.9都免费发布了,你还要闹哪样?! 虽然每版SDK的推出都会有适配的问题,但个人感觉这次iO

ios6与iOS7 的图片适配

iOS6 与IOS7 适配时 应在Main.storybord中ViewController中顶部第4选项中的ViewController-->Extend Edges中的 全部选项设为不选中状态(Under Top Bars ,Under Bottom Bars,Under Opaque Bars),避免图片向四周扩展 如果在运行有问题,在顶部的第一个选项中的Use Auto Layout 设为不选中 再运行时记得清楚缓存 ios6 导航栏背景的出图规格 非Retina: 320 X 44 p

简单的IOS6和IOS7通过图片名适配

在美工提供图片图片的前提下,只需要下面给UIImage做一个分类,就可以简单的实现在6和7上的图片名字适配. 比如美工在6上面提供的图片叫common_button_big_red_highlighted.png,7上的名字[email protected],通过下面的简单代码就可以实现6和7的图片适配,而且在调用的时候十分方便,只需要通过[UIImage imageWithNamed:]就可以,跟体统自带的[UIImage imageNamed:]类似: + (UIImage *)imageW

iOS6和iOS7代码的适配(6) —— NSLocalizedString

我们的应用都是需要国际化的,字符串也是重要的一环.一般来说,我们是通过一个string资源文件来实现这个目的的,我们需要支持几种语言,就把这个文件本地化多少次.代码中需要用NSLocalizedString这个宏,比如,我希望设置一个tableView的title: self.navigationItem.title = NSLocalizedString(@"test", nil); 我们这里加了英文和简体中文两种语言. 如果客户选择了我们没有本地化的语言呢?比如,我们选择了繁体中文