2009-06-22 10 views

Respuesta

11

En Interface Builder cuando selecciona el objeto UISegmentedControl en su UI, en el panel de atributos, en el control de segmento hay un menú desplegable de segmento, seleccione el segmento que desee (0,1 y así sucesivamente) y marque el 'seleccionado' opción debajo de él.

+0

¡Eso no cambia el valor por defecto! –

+1

Oh ya haga clic en la opción seleccionada. Ya veo. Gracias. –

39

De código, puede simplemente hacer self.segmentedControl.selectedSegmentIndex = someDefaultIndex.

si debe ponerlo en viewDidLoad: o no depende enteramente de la estructura de su aplicación. Por ejemplo, si su aplicación se está iniciando y cargando la vista por primera vez y necesita establecer el control al valor que tenía durante la ejecución anterior de la aplicación, entonces definitivamente tiene sentido hacerlo allí.

+0

+1 ¡Gracias! Funciona como encanto! –

0

Si usted no usa guiones gráficos y desea establecer un índice predeterminado después de una cierta configuración/networking como yo, este pequeño fragmento se selecciona algo si el usuario no tiene. Coloqué esto en mi subclase de UISegmentedControl, pero podría colocar esto en cualquier lugar. (Swift 3)

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

versión corta:

if selectedSegmentIndex == UISegmentedControlNoSegment { 
    selectedSegmentIndex = initialIndex 
} 

Longer versión

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

Después de hacer clic en el Control segmentado, vaya a donde creó los segmentos y elija el que desea que sea el predeterminado. Luego debajo de eso habrá una Caja con "Seleccionado" por ella. Seleccione eso y será predeterminado.

Cuestiones relacionadas