70339


以下の記事を参考にしながら、2行のテキストでそのフォントサイズが異なるようなUIButtonを作成しようと思っています。

[Swift-2行のテキストを含むUIButton - www.it-swarm.dev](https://www.it-
swarm.dev/ja/ios/swift2%E8%A1%8C%E3%81%AE%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%92%E5%90%AB%E3%82%80uibutton/1053352290/)

しかし、Versionが対応していないのか、なかなかうまくできません。

よろしければご教授お願い致します。


CC BY-SA 4.0
2020-09-12T12:57:13.847
70330
2020-09-13T05:34:01.813
2020-09-13T05:32:21.877
3060
36055
question
swift ios swift5
2行のテキストを含みフォントサイズを変えるUIButtonを作成したい


[UIButton with two lines of text - Stack
Overflow](https://stackoverflow.com/questions/30679370/swift-uibutton-with-
two-lines-of-text) の回答を参考にすることで解決しました！

[code]

    Btn.titleLabel?.lineBreakMode = .byWordWrapping
    Btn.titleLabel?.numberOfLines = 2
    Btn.titleLabel?.textAlignment = .center
    
    let buttonText: NSString = "hello\nthere"
    let newlineRange: NSRange = buttonText.range(of: "\n")
    var substring1 = ""
    var substring2 = ""
    
    if(newlineRange.location != NSNotFound) {
        substring1 = buttonText.substring(to: newlineRange.location)
        substring2 = buttonText.substring(from: newlineRange.location)
    }
    
    let font1: UIFont = UIFont(name: "Arial", size: 17.0)!
    let attributes1 = [NSMutableAttributedString.Key.font: font1]
    let attrString1 = NSMutableAttributedString(string: substring1, attributes: attributes1)
    
    let font2: UIFont = UIFont(name: "Arial", size: 11.0)!
    let attributes2 = [NSMutableAttributedString.Key.font: font2]
    let attrString2 = NSMutableAttributedString(string: substring2, attributes: attributes2)
    
    attrString1.append(attrString2)
    
    //assigning the resultant attributed strings to the button
    Btn.setAttributedTitle(attrString1, for: [])
    
[/code]


CC BY-SA 4.0
2020-09-13T03:42:21.163
70339
2020-09-13T05:34:01.813
2020-09-13T05:34:01.813
3060
36055
70330
answer