当前位置: 首页 > 面试题库 >

如何在Swift中的UILabel中增加行距

仲孙昊焱
2023-03-14
问题内容

我有一个只有几行文字的标签,我想增加两行之间的间距。其他人也有类似的问题,但是解决方案不能解决我的问题。另外,我的标签可能包含也可能不包含段落。我是新来的Swift。有使用情节提要的解决方案吗?还是只能通过NSAttributedString其可能?


问题答案:

UILabel使用以下代码段将LineSpacing编程添加到您的代码中。

早期的Swift版本

let attributedString = NSMutableAttributedString(string: "Your text")

// *** Create instance of `NSMutableParagraphStyle`
let paragraphStyle = NSMutableParagraphStyle()

// *** set LineSpacing property in points ***
paragraphStyle.lineSpacing = 2 // Whatever line spacing you want in points

// *** Apply attribute to string ***
attributedString.addAttribute(NSParagraphStyleAttributeName, value:paragraphStyle, range:NSMakeRange(0, attributedString.length))

// *** Set Attributed String to your label ***
label.attributedText = attributedString

迅捷4.0

let attributedString = NSMutableAttributedString(string: "Your text")

// *** Create instance of `NSMutableParagraphStyle`
let paragraphStyle = NSMutableParagraphStyle()

// *** set LineSpacing property in points ***
paragraphStyle.lineSpacing = 2 // Whatever line spacing you want in points

// *** Apply attribute to string ***
attributedString.addAttribute(NSAttributedStringKey.paragraphStyle, value:paragraphStyle, range:NSMakeRange(0, attributedString.length))

// *** Set Attributed String to your label ***
label.attributedText = attributedString

斯威夫特4.2

let attributedString = NSMutableAttributedString(string: "Your text")

// *** Create instance of `NSMutableParagraphStyle`
let paragraphStyle = NSMutableParagraphStyle()

// *** set LineSpacing property in points ***
paragraphStyle.lineSpacing = 2 // Whatever line spacing you want in points

// *** Apply attribute to string ***
attributedString.addAttribute(NSAttributedString.Key.paragraphStyle, value:paragraphStyle, range:NSMakeRange(0, attributedString.length))

// *** Set Attributed String to your label ***
label.attributedText = attributedString


 类似资料:
  • 问题内容: 如果将多个行放在一行中,是否可以减少文本之间的间距?我们可以设置框架,字体大小和行数。我想缩小该标签中两行之间的间距。 问题答案: 我考虑过要在此答案中添加一些新内容,因此我感觉还不错……这是一个 Swift 答案: “简短的回答:您不能。要更改文本行之间的间距,您将必须继承UILabel子类并滚动自己的drawTextInRect或创建多个标签。” 这是一个非常古老的答案,其他人已经

  • 我想把我的标签限制为10个字符,我是一个完全的编程新手,所以这是我到目前为止的第三个月了。。。无论如何,提前谢谢:-)

  • 问题内容: 我有一个通过编程方式制作的: 然后,我为标签声明了一些样式,包括字体,例如: 标签的第一部分将始终显示为:然后是字符串的另一部分,例如“ Most Popular” 我希望过滤器一词以粗体显示,因此整个过程看起来像: 筛选: 最受欢迎 我想以最简单的方法来创建这种效果。我一直在互联网上寻找如何实现这一目标的方法,而且有很多方法,有些方法看起来像是代码页。而且大多数似乎在Objectiv

  • 我们使用apollo java客户端来使用graphQL服务,该服务在内部使用okhttp(3.12.11) 我们使用apollo客户端和okhttpclient的单例实例 我们面临的问题是上面的代码在多线程环境中运行,在可视化VM中,我可以看到okhttp只执行5个并行请求 我们没有使用aysnc功能。我们尝试了下面提到的方法,但没有一种有效 有人能告诉我如何提高okhttp中并行请求的限制吗?

  • 问题内容: 我有以下代码: 我收到以下错误: “ NSURLRequest”不可转换为UIWebView。 知道是什么问题吗? 问题答案: loadRequest:是实例方法,不是类方法。您应该尝试使用UIWebview的实例作为接收者而不是类本身来调用此方法。 但是,正如@radex在下面正确指出的那样,您还可以利用currying来调用如下函数: 斯威夫特5

  • 问题内容: 如何增加交易超时时间?我想上传视频,但是没有上传大尺寸的视频? 引发错误 问题答案: 您需要在php.ini中更改一些设置: