iOS 10.3 UISegmentedControl setTitleTextAttributes崩溃

时间:2017-04-06 07:39:56

标签: ios swift ios10.3

iOS 10.3在UISegmentedControl的{​​{1}}方法崩溃了。

问题:

  1. 坠机的原因是什么?
  2. 解决方案是什么?
  3. 注意:已经向苹果报告了这个问题,但还没有听到他们的消息。 https://openradar.appspot.com/31448227

    示例代码:

    setTitleTextAttributes

    修改

    正如@vedian指出的那样,它应该是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) } } 而不是相反,但上面的代码不会在10.3以下的iOS版本上崩溃

2 个答案:

答案 0 :(得分:3)

你造成了这个问题,而不是Apple。

首先按顺序key然后value创建字典。

segmentedControl.setTitleTextAttributes([NSFontAttributeName : UIFont.systemFont(ofSize: 14.0)], for: .normal)

答案 1 :(得分:0)

使用

    segmentedControl.setTitleTextAttributes([NSFontAttributeName: UIFont.systemFont(ofSize: 14.0)], for: .normal)

而不是

segmentedControl.setTitleTextAttributes([UIFont.systemFont(ofSize: 14.0) : NSFontAttributeName], for: .normal)