我需要更改UIAlertController中的按钮字体,我已经使用了下面的代码,但是我无法正常工作,因为当用户触摸UIAlertController的按钮时,字体将更改为默认值。
decode(token: string): any {
const decodedJWT = jwt.decode(token, { complete: true });
if (decodedJWT === null) {
// deal with null
} else if (typeof decodedJWT === 'string') {
// deal with string
} else {
const issuer = (decodedJWT as any).payload.iss; // cast to `any` type
}
return {};
}
以下是此扩展程序的用法:
extension UIAlertController {
private func changeFont(view:UIView,font:UIFont) {
for item in view.subviews {
if let col = item as? UICollectionView {
for row in col.subviews{
changeFont(view: row, font: font)
}
}
if let label = item as? UILabel {
label.font = font
} else {
changeFont(view: item, font: font)
}
}
}
//To set font for any UILabels in action sheet
open override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
let font = MyCustomFont
changeFont(view: self.view, font: font! )
}
}
答案 0 :(得分:2)
很难改变它,因为iOS系统没有为我们提供API。因此,如果我们需要进行一些自定义,我们最好使用第三方库:SCLAlertView-Swift或PopupDialog。