【发布时间】:2017-10-05 09:31:01
【问题描述】:
有什么方法可以停止方法insertSegment(withTitle:at:animated)的动画吗?即使我设置animated:false 段动画,看看这个:
请忽略红球。
我用来创建组件的代码是:
let segmentedControl = UISegmentedControl()
segmentedControl.sendActions(for: UIControlEvents.valueChanged)
segmentedControl.tintColor = UIColor.white
segmentedControl.selectedSegmentIndex = 0
view.addSubview(segmentedControl)
约束设置没问题,帧宽度(100% - 两侧 16 像素)始终相同。问题与段有关,与父视图无关。
添加片段(这发生在设置检查之后):
segmentedControl.insertSegment(withTitle: "Bolinha 1", at: 0, animated: false)
设置框架不起作用,因为问题与内部视图有关。
我尝试使用setAnimationsEnabled(false) 删除它,但不起作用。
编辑 1:使用 segmentedControl.setWidth(segmentedControl.frame.width/3, forSegmentAt: 0) 不起作用。
编辑 2:以 UISegmentedControl(items: ["", "", ""]) 开始视图是否会替换整个组件,顺便说一句,这是一个非常重要的解决方案...
项目使用 Swift 3.1。
谢谢。
【问题讨论】:
-
你能分享一个示例项目吗?
-
@Pedro Paulo Amorim:你是如何在代码中设置约束的?
-
@Puneet Shama 我解决了这个问题,这与约束动画有关。我现在会发布答案。
标签: ios swift xcode uisegmentedcontrol ios-autolayout