第一弹
萌猫导航
首页 » 技术 » iOS

iOS - UIButton折行文字显示设置

作者: 叶子 来源: 怪哈哈网 日期: 2017-07-05 17:50:49 人气: -

首先在控制器中创建一个button

- (void)viewDidLoad {
    [super viewDidLoad];    
    UIButton * button = [[UIButton alloc] initWithFrame:CGRectMake(20, 30, 35, 50)];
    [self.view addSubview:button];
    [button setTitle:@"button" forState:UIControlStateNormal];
    [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];    
    /*
     NSLineBreakByWordWrapping = 0,         // Wrap at word boundaries, default
     NSLineBreakByCharWrapping,     // Wrap at character boundaries
     NSLineBreakByClipping,     // Simply clip 裁剪从前面到后面显示多余的直接裁剪掉
     
         文字过长 button宽度不够时: 省略号显示位置...
     NSLineBreakByTruncatingHead,   // Truncate at head of line: "...wxyz" 前面显示
     NSLineBreakByTruncatingTail,   // Truncate at tail of line: "abcd..." 后面显示
     NSLineBreakByTruncatingMiddle  // Truncate middle of line:  "ab...yz" 中间显示省略号
     */
    button.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;    // you probably want to center it
    button.titleLabel.textAlignment = NSTextAlignmentCenter; // if you want to
    [button setTitle: @"Line1\nLine2" forState: UIControlStateNormal];
    button.layer.borderColor = [UIColor blackColor].CGColor;
    button.layer.borderWidth = 1.0;
}
  • 此处宽度故意设置的比较小由于文字过长,则设置button.titleLabel.lineBreakMode的属性为NSLineBreakByTruncatingHead时,此时button的title显示效果如下
    iOS - UIButton折行文字显示设置

  • 显示的前端省略而且只显示了内容line1,line2被省略掉,当把\n换行符去掉时,则line2不会被省略.
    iOS - UIButton折行文字显示设置

  • 此处宽度故意设置的比较小由于文字过长,则设置button.titleLabel.lineBreakMode的属性为NSLineBreakByTruncatingTail时,此时button的title显示效果如下
    iOS - UIButton折行文字显示设置

  • 省略号在后面
  • 此处宽度故意设置的比较小由于文字过长,则设置button.titleLabel.lineBreakMode的属性为NSLineBreakByTruncatingMiddle时,此时button的title显示效果如下
    iOS - UIButton折行文字显示设置

  • 省略号在中间
  • 此处宽度故意设置的比较小由于文字过长,则设置button.titleLabel.lineBreakMode的属性为NSLineBreakByClipping时,此时button的title显示效果如下
    iOS - UIButton折行文字显示设置

  • 超长部分被裁剪掉

把宽度设置宽一些让button的文字title折行显示

- (void)viewDidLoad {
    [super viewDidLoad];    
    UIButton * button = [[UIButton alloc] initWithFrame:CGRectMake(20, 30, 50, 50)];
    [self.view addSubview:button];
    [button setTitle:@"button" forState:UIControlStateNormal];
    [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];    
    /*
     NSLineBreakByWordWrapping = 0,         // Wrap at word boundaries, default
     NSLineBreakByCharWrapping,     // Wrap at character boundaries
     NSLineBreakByClipping,     // Simply clip 裁剪从前面到后面显示多余的直接裁剪掉
     
         文字过长 button宽度不够时: 省略号显示位置...
     NSLineBreakByTruncatingHead,   // Truncate at head of line: "...wxyz" 前面显示
     NSLineBreakByTruncatingTail,   // Truncate at tail of line: "abcd..." 后面显示
     NSLineBreakByTruncatingMiddle  // Truncate middle of line:  "ab...yz" 中间显示省略号
     */
    button.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;    // you probably want to center it
    button.titleLabel.textAlignment = NSTextAlignmentCenter; // if you want to
    [button setTitle: @"Line1\nLine2" forState: UIControlStateNormal];
    button.layer.borderColor = [UIColor blackColor].CGColor;
    button.layer.borderWidth = 1.0;
}
  • 效果如下
    iOS - UIButton折行文字显示设置


转载请注明文章来源(欢迎分享): http://www.guaihaha.com/ios/16366.html

怪哈哈动漫图库
关于怪哈哈
怪哈哈是一个集搞笑,美女,动漫,游戏,技术等为核心的综合性网站!
联系我们
商务洽谈、广告合作、友情链接、侵权举报,这些都可以联系我们哦!
关于我们 - 联系我们 - 广告服务 - 免责申明   
本站文字和图片均为严格审查筛选收藏,均收集整理于互联网,其著作权归原作者所有,如果有侵犯您权利的照片,请来信告知,我们将及时撤销相应文字和图片.
Copyright @2014-2020 怪哈哈网 All Rights Reserved.
【谢谢大家一直支持贵站】