最新消息:VPS服务器又从fzhost.net换回Linode了,主题仍用朋友推荐的大前端D8

【已解决】swift中UILabel中显示文件名长度太长时保证后缀可以显示

Swift crifan 263浏览 0评论

【问题】

之前的代码是:

      //2. file name label
        self.nameLabel.text = resMsg.fileItem.name
        self.nameLabel.font = UIFont.systemFontOfSize(13)
        self.nameLabel.textColor = ColorConversationText
        self.nameLabel.textAlignment = NSTextAlignment.Left
        self.nameLabel.lineBreakMode = NSLineBreakMode.ByCharWrapping
        self.nameLabel.numberOfLines = 0
        //self.fileView.addSubview(self.nameLabel)
        self.addSubview(self.nameLabel)
        constrain(nameLabel, iconImageView) { nameLabel, iconImageView in
            nameLabel.top == nameLabel.superview!.top + 6
            nameLabel.left == iconImageView.right + 10
            nameLabel.right <= nameLabel.superview!.right - 8
            nameLabel.bottom <= nameLabel.superview!.bottom - 20
        }

效果是:

file name too long not show suffix

希望达到的效果是:

文件名太长时,保持文件名的开始后最后的后缀显示,中间部分可以变成…

 

无意间发现,直接修改参数即可:

现在改为:

        //self.nameLabel.lineBreakMode = NSLineBreakMode.ByCharWrapping
        self.nameLabel.lineBreakMode = NSLineBreakMode.ByTruncatingMiddle

效果是:

uilabel text too long show file suffix

 

【总结】

对于UILabel的的话,设置lineBreakMode为NSLineBreakMode.ByTruncatingMiddle,即可使得当文字太长,优先显示前面和最后面的内容,而让中间内容显示省略号三个点

-》对于文件名来说,就是保证文件名后缀显示了。

转载请注明:在路上 » 【已解决】swift中UILabel中显示文件名长度太长时保证后缀可以显示

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. label.lineBreakMode=NSLineBreakMode.ByTruncatingTail //隐藏尾部并显示省略号 label.lineBreakMode=NSLineBreakMode.ByTruncatingMiddle //隐藏中间部分并显示省略号 label.lineBreakMode=NSLineBreakMode.ByTruncatingHead //隐藏头部并显示省略号 label.lineBreakMode=NSLineBreakMode.ByClipping //截去多余部分也不显示省略号
    100862年前 (2016-05-25)回复
17 queries in 0.174 seconds, using 9.70MB memory