2012-08-22 18 views
11

Tengo un controlador de vista con un botón que activa un Storyboard Sedal modal con la transición Curl parcial.Rogue Animation of UISegmentedControl bajo Curl parcial

En el controlador de vista que se revela, tengo un UISegmentedControl.

Por último he reducido el tamaño de fuente de UISegmentedControl.

Cuando se presiona el botón, la página se curva para revelar el control segmentado: durante la animación de rizo, puede ver claramente el control segmentado animar desde el ancho cero hasta el ancho real, se ve muy extraño y sucio, y no puedo entender por qué sucede esto!

que era capaz de reproducir el efecto de la siguiente manera:

  • Crear solo proyecto vista
  • Añadir segundo controlador de vista al guión gráfico
  • Añadir un UIButton al primer controlador de vista
  • Añadir una UISegmentedControl al controlador de nueva vista
  • Enlace el botón a la segunda vista con un enrollamiento parcial Modal Segue
  • añadir un archivo de clase al proyecto, heredado de UIViewController
  • Añadir un IBOutlet para el control segmentado a la nueva clase
  • Enlace del segundo punto de vista del controlador a la nueva clase y la segmentado control a la salida de
  • en

    viewDidLoad: en la nueva clase añadir:

    [segmentedControl setTitleTextAttributes:[NSDictionary dictionaryWithObject:[UIFont boldSystemFontOfSize:14] forKey:UITextAttributeFont] forState:UIControlStateNormal]; 
    

Un efecto similar se observa también si se permite que el rizo para abrir en landscap e

+3

Esta pregunta parece ser similar a http://stackoverflow.com/questions/9741052/ios-how-to-stop-text-animation-in-partial-curl. ¿Has intentado agregar '[self.view layoutIfNeeded]' a la implementación '-viewDidLoad'? –

+0

Además, he reproducido todos sus pasos y no he tenido este problema. ¿Qué versión de XCode estás usando? ¿Cuál es tu SDK base y objetivo de implementación? En la línea que pones en tu 'viewDidLoad:', llamas directamente a 'segmentedControl', no' self.segmentedControl'or '_segmentedControl', ¿eso es porque declaras directamente el ivar? – Zedenem

+0

nos da la vista completa por carga, por favor. No estoy seguro de lo que está sucediendo a partir de la información que proporcionó. – metsburg

Respuesta

0

Me encontré con algo similar. Intente cambiar el selectedSegmentIndex justo antes del rizo (puede establecerlo en -1 para anular la selección) para forzar que el control tenga ancho.