2009-06-22 145 views

回答

11

在界面构建器中,当您在UI上选择UISegmentedControl对象时,然后在属性窗格中,在段控件中有段下拉菜单,选择要选择的段(0,1等)并勾选'selected'选项下方。

+0

这不会改变默认值! – 2012-06-13 15:15:00

+1

哦,你点击选择的选项。我懂了。谢谢。 – 2012-06-13 15:15:53

39

从代码,你可以做self.segmentedControl.selectedSegmentIndex = someDefaultIndex

是否应该在viewDidLoad:中设置它,完全取决于应用程序的结构。例如,如果您的应用第一次启动并加载视图,并且需要将控件设置为应用的上一次运行期间的任何值,那么在此处执行它肯定有意义。

0

如果你不使用故事板,并且想要在像我这样的一些设置/网络设置后设置一个默认索引,这个小片段将选择一些用户没有的东西。我把它放在我的子类UISegmentedControl中,但是你可以把它放在任何地方。 (夫特3

Decl: var UISegmentedControlNoSegment: Int { get } 
Desc: A segment index value indicating that there is no selected segment. See selectedSegmentIndex for further information. 

短版:

if selectedSegmentIndex == UISegmentedControlNoSegment { 
    selectedSegmentIndex = initialIndex 
} 

较长版本

func reloadData() { 
    guard let numberOfItems = dataSource?.numberOfItems() else { 
     return 
    } 

    removeAllSegments() 

    for index in 0...numberOfItems { 
     insertSegment(with: $image, at: index, animated: false) 
    } 

    if selectedSegmentIndex == UISegmentedControlNoSegment { 
     selectedSegmentIndex = initialIndex 
    } 
} 
0

单击分段控件后,请转到您创建分段的位置,然后选择您想要默认的分段。然后在下面会有一个带有“Selected”的Box。选择它,它将是默认的。