Могу ли я добавить NSAttributedString в заголовок UIMenuItem вместо String? - PullRequest
0 голосов
/ 29 марта 2019

Я бы хотел добавить NSAttributedString в заголовок UIMenuItem вместо String, но я не вижу никакого способа сделать это.Возможно ли даже создать подкласс UIMenuItem или что-то еще для достижения этой цели?Я видел, что в приложении Telegram на iOS они достигли чего-то подобного. Изображение с UIMenuItem от Telegram .

1 Ответ

0 голосов
/ 29 марта 2019

Это должно позволить вам использовать NSAttributedString для заголовка вашего UIMenuItem:

import UIKit

class CustomUIMenuItem: UIMenuItem {
    init(titleAttributedString: NSAttributedString, action: Selector) {
        super.init(title: titleAttributedString.string, action: action)
    }
}

class ViewController: UIViewController {

    @IBOutlet weak var textView: UITextView!

    override func viewDidLoad() {
        super.viewDidLoad()
        let item = CustomUIMenuItem(titleAttributedString: NSAttributedString(string: "Menu Title"), action: #selector(testFunction))
        UIMenuController.shared.menuItems = [item]
    }

    @objc func testFunction() {
        print("Success")
    }
}
...