u012575301
哈哈哈嘿嘿嘻嘻
采纳率4.3%
2016-02-18 08:06 阅读 7.9k

ios 超过一定行数的label强制在末尾加上一个...展开且可以点击成全文

如题

比如

这个UIlabel 本该显示成

    顶顶顶顶顶顶顶顶顶顶的大多数是是是是
    顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
    谁谁谁水水水水是是是是是是是是是是撒
    大多数是山东省撒打算打算打算打算的收
    水电费第三方第三方说的发送到发送到范
    水电费第三方士大夫士大夫。

但是 现在业务要求最多显示3行 如果小于3行有多少航显示多少行 超过三行的话显示如下

    顶顶顶顶顶顶顶顶顶顶的大多数是是是是
    顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
    谁谁谁水水水水是是是是是是是...展开

其中展开是蓝色 一点击...展开才变成

    顶顶顶顶顶顶顶顶顶顶的大多数是是是是
    顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
    谁谁谁水水水水是是是是是是是是是是撒
    大多数是山东省撒打算打算打算打算的收
    水电费第三方第三方说的发送到发送到范
    水电费第三方士大夫士大夫。

我现在虽然到达了效果 但是方法比较复杂 且有时候还有问题 我想想问问大家 有没有什么好办法 好思路 最好有代码可以参考 谢谢了

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • DeJuion DeJuion 2016-02-18 09:14

    不知道ios具体怎么实现,但在网页中,我一般是先把所有的读出来,然后检查长度是否超过N个字符,如果超过,则显示前N个字符和一个“展开”按钮,通过点击按钮显示全部

    点赞 评论 复制链接分享
  • Mr_dsw Andoter 2016-02-18 13:52

    今天我也在想android里面怎么给lable添加省略号

    点赞 评论 复制链接分享
  • qq_30970529 一步一迹 2016-02-18 09:41

    UILable有个属性NSLineBreakMode,它是个枚举值:
    typedef NS_ENUM(NSInteger, NSLineBreakMode) {
    NSLineBreakByWordWrapping = 0, // Wrap at word boundaries, default
    NSLineBreakByCharWrapping, // Wrap at character boundaries
    NSLineBreakByClipping, // Simply clip
    NSLineBreakByTruncatingHead, // Truncate at head of line: "...wxyz"
    NSLineBreakByTruncatingTail, // Truncate at tail of line: "abcd..."
    NSLineBreakByTruncatingMiddle // Truncate middle of line: "ab...yz"
    } NS_ENUM_AVAILABLE(10_0, 6_0);

    点赞 评论 复制链接分享

相关推荐