Как добавить верхний индекс при нажатии кнопки? - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь создать приложение для калькулятора, и в настоящее время все введенные цифры отображаются на UILabel. Когда кнопка «Power (^)» нажата, я хочу, чтобы следующий текст стал верхним индексом над тем, что было введено ранее (поэтому я хочу, чтобы он был меньше и в правом верхнем углу). Поэтому, если я введу «2», затем «^», а затем «0», я хочу, чтобы оно показывало 2 ° (2 в степени 0).

Я не очень старался, так как я даже не уверен, с чего начать, но подумал, может быть, мне удастся создать новую UILabel, которая будет меньше и находится в верхнем правом углу последнего введенного фрагмента текста, но я не не знаю, как узнать, где разместить маленькую UILabel (я не знаю, как узнать позицию последней буквы / цифры).

У меня та же проблема с делением, когда нажата кнопка деления, я хочу, чтобы она была в виде дроби с текстом в числителе, горизонтальной линией, а затем текстом под знаменателем. Но у меня есть чувство, что я смогу решить оба этих вопроса, если смогу решить, как решить один из них.

Вот так выглядит мое приложение >> >> 1007 *enter image description here

Ответы [ 2 ]

1 голос
/ 19 июня 2019
   let font:UIFont? = UIFont.systemFont(ofSize: 20.0)
   let fontSuper:UIFont? = UIFont.systemFont(ofSize: 10.0)
   let attString:NSMutableAttributedString = NSMutableAttributedString(string: "YourLabel", attributes: [.font:font!])
   attString.setAttributes([.font:fontSuper!,.baselineOffset:10], range: NSRange(location:4,length:5))
   yourLabel.attributedText = attString
0 голосов
/ 19 июня 2019

Я думаю, вам не нужен другой UILabel. Ответ на этот вопрос есть по ссылке ниже: Как использовать индекс и надстрочный индекс в Swift

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...