我正在使用以下代码,但无法正常工作。谁能帮我解决这个问题?
UIButton.appearance().titleLabel?.font = UIFont(name: "Roboto-Regular", size: 20.0)
答案 0 :(得分:0)
尝试首先创建按钮的实例:
转到情节提要,然后在用鼠标将您创建的按钮拖动到代码上的同时单击“控制”(在键盘上)。这将创建一条蓝线。
然后它将要求您命名实例,因此,假设您将其命名为btnMyButton: 它应该看起来像这样:
@IBOutlet弱var btnMyButton:UIButton!
然后您可以参考它:
btbMyButton.titleLabel?.font = UIFont(名称:“ Roboto-Regular”,大小:20.0)
希望有帮助
答案 1 :(得分:0)
如果要一般设置字体,则可以从UIButton.appearance().titleLabel?.font = UIFont(name: "Roboto-Regular", size: 20.0)
的方法didFinishLaunchingWithOptions:
中调用代码AppDelegate
。
答案 2 :(得分:0)
好,请尝试以下操作:
转到AppDelegate并将其粘贴-
extension UIButton {
@objc dynamic var titleLabelFont: UIFont! {
get { return self.titleLabel?.font }
set { self.titleLabel?.font = newValue }
}
}
class Theme {
static func apply() {
applyToUIButton()
// ...
}
// It can either theme a specific UIButton instance, or defaults to the appearance proxy (prototype object) by default
static func applyToUIButton(a: UIButton = UIButton.appearance()) {
a.titleLabelFont = UIFont(name: "Courier", size:20.0)
// other UIButton customizations
}
}
然后在此处添加“ Theme.apply()”(仍在AppDelegate中):
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
//UIApplication.shared.statusBarStyle = .lightContent
Theme.apply() // ADD THIS
return true
}
我用Courier字体完成了它,对我有用。我认为您需要确保在应用程序中安装了字体。
这是我从以下位置获得的:How to set UIButton font via appearance proxy in iOS 8?
答案 3 :(得分:0)
使用 UIAppearance 设置 UIButton 的字体如下:
label = UILabel.appearance(whenContainedInInstancesOf: [UIButton.self])
label.font = UIFont.systemFont(ofSize: 20)
您可以在 AppDelegate 的方法 application(_:, didFinishLaunchingWithOptions:)
或任何适合为您的应用程序设置主题的地方添加上述代码。
在 UIViewController.viewDidLoad
中,将按钮实例的 adjustsFontForContentSizeCategory
的 titleLabel
属性设置为 true。
class ExampleVC: UIViewController
@IBOutlet weak var btnOkay: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
btnOkay.titleLabel?.adjustsFontForContentSizeCategory = true
}
}