取巧处理:UILabel(IOS开发) 超出宽度的文本省略号的问题
1个回答
展开全部
UILabel 默认情况下,单行文本、使用固定宽高、固定字体的时候,超出的文本会被省略号代替,但对于某些设计中,省略号是不需要的(设计合理性不在本文讨论范围内)。考虑的采取几种方式:
实现可行,但总觉得每次渲染都得重新计算,这有多麻烦
UITextView 是文本域的显示组件,默认情况不存在最后一个字的溢出问题(折到第2行了),但UITextView 本身比UIlabel 可响应用户的操作更多,所以需要做一些设置才能保障正常的事件响应(尤其在Cell 里面的时候)
示例(仅贴出主要差异部分)
最终效果:
注意点:
1.使用NSAttributedString对文本设置相应的样式和行高、行距;
2.禁止userInteractionEnabled,防止UITextView的事件响应(编辑、选择);
3.resignFirstResponder,设为非第一响应者,在cell中尤其重要,否则点击文字无法触发cell 的 didSelected 的事件;
4.相比UILabel,内存占用多一些,尤其在大量cell中使用时。
懒也是一种生产力
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询