Создать IBInspectable символа Юникода

Я создал несколько иконочных шрифтов, используя такие веб-сайты, как (http://fontastic.me/ ), который дает вам файл .ttf.

вы можете использовать его по

myLable.text = "\u{e002}" //
print("\u{e002}")     //
print("\u{1F496}")   //????

это хорошо работает, но я хочу передать строку напрямую, используя раскадровку.

Затем я начинаю работать с подклассом UILabel и создаю @IBInsectable для строки Unicode. но это не сработало. Ниже приведен код IBInspectable.

@IBInspectable internal var myString: String? {
        didSet {
            text = "\u{e002}"       //          this works
            text = "\\u{\(myString)}" //\u{e002}    this not
        }

or

let myString = "e002"
print("\\u{\(myString)}")   //\u{e002}

даже это тоже не работает

print(myString)
text = String(UTF8String: myString!)

но это будет печатать только текст, который предполагается печатать Icon, например print("\u{e002}") this. как это решить, что мне не хватает?

Заранее благодарю за любую помощь.


person Aakash Brahmbhatt    schedule 15.06.2016    source источник


Ответы (1)


Вам нужно использовать класс NSScanner, который поможет вам преобразовать NSString в Unicode

В IBInspectable просто передайте только код без \u используйте класс NSScanner для преобразования NSString в Unicode, и вы можете использовать его как символ Unicode

Например, если вы хотите использовать , установите для e002 только значение NSSString.

Ниже приведен пример того, что вы хотите, например, подкласс UILabel и свойство с элементом IBInspectable.

class LabelSubClass: UILabel {

    @IBInspectable internal var myString: String? {
        didSet {
            let scanner: NSScanner = NSScanner(string: myString!)
            var code: UInt32 = 0
            scanner.scanHexInt(&code)
            let unicodeString: String = String(format:"%C", UInt16(code))
            print("unicodeString: \(unicodeString)")

            text = unicodeString
        }
    }
}

Узнайте здесь, как установить Unicode для проверяемого элемента
Здесь вы можете увидеть вывод вышеприведенного кода

person Paresh Patel    schedule 14.07.2016
comment
Рад помочь, счастливого кодирования. - person Paresh Patel; 27.07.2016