2017-09-04 58 views
0

我創建一個應用數學和想有一個標2.我一直無法找到的Xcode 8的解決方案是不是一個基線關閉設置把一個標在標籤中xcode8

finalFunc.text = "Converted: \(printA)(x+\(printB))^2+\(printC)" 
+0

你檢查了答案嗎? –

+0

我已經嘗試過了,我得到2個錯誤。它說預計減速attString和該字體不能在初始化程序中使用:(任何想法?並感謝您的幫助! –

+0

你可以顯示你的代碼在哪裏得到錯誤? –

回答

0

使用此代碼 -

let font:UIFont? = UIFont(name: "Helvetica", size:20) 
let fontSuper:UIFont? = UIFont(name: "Helvetica", size:10) 
let attString:NSMutableAttributedString = NSMutableAttributedString(string: "xcode8", attributes: [NSFontAttributeName:font!]) 
attString.setAttributes([NSFontAttributeName:fontSuper!,NSBaselineOffsetAttributeName:10], range: NSRange(location:5,length:1)) 
label1.attributedText = attString; 

輸出 -

enter image description here

0

對於簡單易用的Swift解決方案,您可能需要結賬HandyUIKit。將它導入到你的項目後(例如,通過迦太基 - 見README說明),你可以做這樣的事情:

import HandyUIKit 

let someFont = UIFont.systemFont(ofSize: 20, weight: .medium) 
"Converted: \(printA)(x+\(printB))^{2}+\(printC)".superscripted(font: someFont) 

最後一行將返回一個NSAttributedString將看起來就像你正在尋找 。只需將它分配UILabel s attributedText財產和就是這樣!


如果您正在尋找下標文本,只需使用subscripted(font:)代替。它將識別像CO_{2}這樣的結構。還有superAndSubscripted(font:),如果你想結合

有關更多信息和其他示例,請參閱docs