如何在 SWIFT 项目中使用 iosMath?响应。如何将 MTMathUILabel() 添加到项目中?
How to use iosMath in SWIFT project? Resp. how to add MTMathUILabel() to project?
我是编程新手,但我对如何将 iosMath
用于 iOS 很感兴趣。我已经可以安装 Cocoa Pod,并且我确实将 iosMath
导入到项目中。问题是:如何可视化数学方程式?
我知道应该为此使用 MTMathUILabel
,但是我不知道如何将它添加到程序中。有没有办法创建 UIView
的子类或其他东西,能够做到这一点?
这里是我的代码示例:
import UIKit
import Foundation
import CoreGraphics
import QuartzCore
import CoreText
import iosMath
class ViewController: UIViewController {
@IBOutlet weak var label: MTMathUILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let label: MTMathUILabel = MTMathUILabel()
label.latex = "x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}"
label.sizeToFit()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
我尝试将标签连接到故事板中的 UIView()
和 UILabel()
,但显然不是这样。
提前感谢您的帮助。
您发布的代码中存在一些问题
- 您正在设置一个
IBOutlet
,然后实例化另一个具有相同名称的 MTMathUILabel
- 你真的不需要打电话给
label.sizeToFit()
简单的解决方法是去掉IBOutlet
,然后按如下操作
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let label: MTMathUILabel = MTMathUILabel()
label.latex = "x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}"
//ADD THIS LABE TO THE VIEW HEIRARCHY
view.addSubview(label)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
更好的解决方案如下:
- 在故事板中创建一个
UIView
(因为MTMathUILabel
实际上是一个UIView
)
- 将此视图的 class 设置为
MTMathUILabel
- 为此视图连接
IBOutlet
然后使用下面的代码
class ViewController: UIViewController {
@IBOutlet weak var label: MTMathUILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
//NO NEED TO INSTANTIATE A NEW INSTANCE HERE
label.latex = "x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}"
//NO NEED TO CALL sizeToFit()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
我是编程新手,但我对如何将 iosMath
用于 iOS 很感兴趣。我已经可以安装 Cocoa Pod,并且我确实将 iosMath
导入到项目中。问题是:如何可视化数学方程式?
我知道应该为此使用 MTMathUILabel
,但是我不知道如何将它添加到程序中。有没有办法创建 UIView
的子类或其他东西,能够做到这一点?
这里是我的代码示例:
import UIKit
import Foundation
import CoreGraphics
import QuartzCore
import CoreText
import iosMath
class ViewController: UIViewController {
@IBOutlet weak var label: MTMathUILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let label: MTMathUILabel = MTMathUILabel()
label.latex = "x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}"
label.sizeToFit()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
我尝试将标签连接到故事板中的 UIView()
和 UILabel()
,但显然不是这样。
提前感谢您的帮助。
您发布的代码中存在一些问题
- 您正在设置一个
IBOutlet
,然后实例化另一个具有相同名称的MTMathUILabel
- 你真的不需要打电话给
label.sizeToFit()
简单的解决方法是去掉IBOutlet
,然后按如下操作
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let label: MTMathUILabel = MTMathUILabel()
label.latex = "x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}"
//ADD THIS LABE TO THE VIEW HEIRARCHY
view.addSubview(label)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
更好的解决方案如下:
- 在故事板中创建一个
UIView
(因为MTMathUILabel
实际上是一个UIView
) - 将此视图的 class 设置为
MTMathUILabel
- 为此视图连接
IBOutlet
然后使用下面的代码
class ViewController: UIViewController {
@IBOutlet weak var label: MTMathUILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
//NO NEED TO INSTANTIATE A NEW INSTANCE HERE
label.latex = "x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}"
//NO NEED TO CALL sizeToFit()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}