按下按钮时如何添加上标?
How to add superscript when a button is pressed?
我正在尝试制作一个计算器应用程序,目前所有输入的数字都显示在 UILabel 上。当按下 "Power (^)" 按钮时,我希望它使以下文本成为先前输入内容的上标(因此我希望它更小并位于右上角)。因此,如果我输入“2”,然后输入“^”,然后输入“0”,我希望它显示 2°(2 的 0 次方)。
我没有尝试太多,因为我什至不确定从哪里开始,但我在想也许我可以创建一个新的 UILabel,它更小,位于输入的最后一段文本的右上角,但是我不知道怎么知道把小 UILabel 放在哪里(我不知道怎么得到最后一个 letter/number 的位置)。
我对除法有同样的问题,当按下除法时我希望它是分数的形式,分子中有文本,水平线,然后是分母下面的文本。但我有一种感觉,如果我能弄清楚如何解决一个问题,我就能解决这两个问题。
这是我的应用目前的样子 >>
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
我认为您不需要另一个 UILabel。下面 link 有一个关于这个的答案:
我正在尝试制作一个计算器应用程序,目前所有输入的数字都显示在 UILabel 上。当按下 "Power (^)" 按钮时,我希望它使以下文本成为先前输入内容的上标(因此我希望它更小并位于右上角)。因此,如果我输入“2”,然后输入“^”,然后输入“0”,我希望它显示 2°(2 的 0 次方)。
我没有尝试太多,因为我什至不确定从哪里开始,但我在想也许我可以创建一个新的 UILabel,它更小,位于输入的最后一段文本的右上角,但是我不知道怎么知道把小 UILabel 放在哪里(我不知道怎么得到最后一个 letter/number 的位置)。
我对除法有同样的问题,当按下除法时我希望它是分数的形式,分子中有文本,水平线,然后是分母下面的文本。但我有一种感觉,如果我能弄清楚如何解决一个问题,我就能解决这两个问题。
这是我的应用目前的样子 >>
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
我认为您不需要另一个 UILabel。下面 link 有一个关于这个的答案: