【发布时间】:2017-04-06 07:39:55
【问题描述】:
iOS 10.3 在UISegmentedControl 的setTitleTextAttributes 方法上崩溃。
问题:
- 崩溃的原因是什么?
- 解决办法是什么?
注意:已经向苹果报告了这个问题,但还没有收到他们的消息。 https://openradar.appspot.com/31448227
示例代码:
class ViewController: UIViewController {
@IBOutlet private weak var segmentedControl: UISegmentedControl!
override func viewDidLoad() {
super.viewDidLoad()
//Crash!
segmentedControl.setTitleTextAttributes([UIFont.systemFont(ofSize: 14.0) : NSFontAttributeName], for: .normal)
}
}
编辑
正如@vedian 指出的那样,它应该是[key : value],而不是相反,但是上面的代码不会在低于 10.3 的 iOS 版本上崩溃。
【问题讨论】:
-
任何代码?那会更容易。任何属性或您只尝试过字体?
-
@Lu_ 好吧,我也迁移到了 swift 3.1,但它仍然崩溃,你可以自己测试。
-
@BurhanuddinSunelwala 它对我有用。检查您的 IBOutlet 连接。
-
@RajeshkumarR 10.3?
-
10.2 和属性应该是
[key:value]格式[NSFontAttributeName: UIFont.systemFont(ofSize: 10.0)]。尝试更改它。