【发布时间】:2020-01-14 04:59:55
【问题描述】:
我是STAControls 的维护者,它继承了各种UIControls,其中之一是UISegmentedControl。在该项目的示例应用程序中,我有以下代码(可以从上述链接下载):
- (void)textFieldDidEndEditing:(UITextField *)textField {
NSInteger integer = [textField.text integerValue];
if (integer < 0 || integer >= self.segmentedControl.numberOfSegments) { this doesn't work
self.segmentedControl.selectedSegmentIndex = UISegmentedControlNoSegment;
} else { // this works
self.segmentedControl.selectedSegmentIndex = integer;
}
}
在 iOS 13 中,UISegmentedControlNoSegment 分配不受尊重:
在 iOS 12 和之前的 iOS 版本中,这表现得很好:
关于如何解决这个问题的任何想法?
【问题讨论】:
-
我遇到了同样的问题。您是否向 Apple 提交了错误报告?我宁愿不必实现您的解决方法,因为我不继承 UISegmentedControl。
-
我做了,但它有助于其他人报告它,并让他们了解问题的严重性/紧迫性。如果您希望分段控件在 iOS 13.0(可能还有 13.1)中以这种方式运行,那么您将需要这种解决方法,因为当他们修补它时,它将在新版本的 iOS 中发布。您可以使用my subclass of
UISegmentedControl而不是自己滚动。请参阅my answer 了解其实施方式。 -
谢谢!我也刚举报了。希望他们能尽快修复它...
标签: objective-c uisegmentedcontrol ios13