UITextview如何快速增加字体大小?

30

我正在尝试在我的应用程序中添加两个按钮来设置UITextview的字体大小,然后我找到了这个函数

textview.font.increaseSize(...) //and decreaseSize(...)

但是我不明白括号里要填什么,我想把字体大小增加或减小一个字号。

感谢回答。


看起来这是一个未记录的私有方法,不小心仍然可见;你不需要考虑你能否使用它。 - holex
5个回答

59

我认为没有名为increaseSize()的方法。也许你找到了一些UIFontUITextView类别。

官方UIFont类文档中没有透露这样的方法。

此外,您可以像这样增加字体:

textview.font = UIFont(name: textview.font.fontName, size: 18)

上述语句将简单地将现有的字体大小设置为18,您可以将其更改为您想要的任何值。

但是,如果您想使用像您发布的方法一样的某些方法,则可以像这样引入自己的类别:

extension UITextView {
    func increaseFontSize () {
        self.font =  UIFont(name: self.font.fontName, size: self.font. pointSize+1)!
    }
}

Swift 2 & 3:


(Swift 2和3:)
import UIKit
extension UITextView {
    func increaseFontSize () {
        self.font =  UIFont(name: (self.font?.fontName)!, size: (self.font?.pointSize)!+1)!
    }
}

并且只需将其导入到您想使用的位置即可,如下所示:

textview.increaseFontSize()

每次调用它都会将字体增加1个单位。


2
textview.font在Swift 2.0中返回nil。 - TechBee

32

对于系统字体,这也适用:

yourTextView.font = .systemFontOfSize(16)

8
你的TextView字体等于.systemFont(ofSize: 16),这段代码是Swift3语言。 - Pokemon

22

Swift 4、5

yourTextView.font = .systemFont(ofSize: 16)

3

Swift 5

textView.font = UIFont.preferredFont(forTextStyle: .body) //.title, .headline, etc..

0

SWIFT 5

你也可以做

yourTextView.font = UIFont.systemFont(ofSize: CGFloat)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接