複数行のUIButton
が必要です。最初の行にはFontAwesome
のアイコンが表示され、2番目の行にはアイコンが説明されます。FontAwesomeを使用して複数行のUIButtonを作成するにはどうすればよいですか?
また、両方の行のフォントサイズは、各行で異なる必要があります。ここで
は、私は一瞬で持っているものです。
@IBOutlet weak var btnProfile: UIButton!
let paraStyle = NSMutableParagraphStyle()
paraStyle.lineBreakMode = NSLineBreakMode.byWordWrapping
paraStyle.alignment = NSTextAlignment.center
let icon = NSMutableAttributedString(string: "\u{f082}", attributes: [NSFontAttributeName: UIFont.init(name: "FontAwesome", size: 40)])
let text = NSMutableAttributedString(string:"\nProfile", attributes: [NSFontAttributeName:UIFont.systemFont(ofSize: 12.0)])
icon.append(text)
icon.addAttribute(NSParagraphStyleAttributeName, value: paraStyle, range: NSRange(location:0,length: icon.length))
btnProfile.setAttributedTitle(icon, for: .normal)
が、私は次のエラーを取得しています:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[_SwiftValue renderingMode]: unrecognized selector sent to instance
私も内部の代わりの"\u{f082}"
尋問シンボルの正方形を使用して試してみました問題は同じです。
私がコメントした場合、アプリケーションは例外をスローしないので、問題は最後の2行にあることがわかります。
、それがほとんどうまく機能:
はまた、私はストーリーボードを使用して、それを試してみました。両方の行はアイコン+テキストで表示されますが、テキストはアイコンのフォントとフォントサイズを持ち、それらを異なるものにします。ここではスクリーンショット:
私が間違って何をしているのですか?私はコードやストーリーボードでこれを解決すれば気にしません。
ありがとうございます!
button.titleLabel .lineBreakMode = NSLineBreakMode.ByWordWrapping; button.titleLabel! !.numberOfLines = 2 //行数を無制限にしたい場合は0を設定し、タイトルアイコン\ nyourText ...を設定することができます私は助けてくれるでしょう – Joe
@ジョー私は無制限の行を望んでいません。ちょうど2.私は0に行数を設定しようとしたが、それも動作しません、同じエラーが表示されます。 –