guide español developer apple adaptive ios autolayout interface-builder

ios - español - ¿Cuáles son los valores predeterminados de Auto Layout Content Hugging y Content Compression Resistance?



constraints xcode (1)

Estos valores están actualizados a partir de Xcode 7.3.

Valores de prioridad predeterminados del generador de interfaz:

Al arrastrar un componente al Interface Builder, obtienes las siguientes prioridades. Nota: (250,750) representa 250 horizontal y 750 vertical.

+-------------------------+---------------+------------------------------+ | Object | Hugging (H,V) | Compression Resistance (H,V) | +-------------------------+---------------+------------------------------+ | UIActivityIndicatorView | 750,750 | 750,750 | | UIButton | 250,250 | 750,750 | | UIDatePicker | 250,250 | 750,750 | | UIImageView | 251,251 | 750,750 | | UILabel | 251,251 | 750,750 | | UIPageControl | 250,250 | 750,750 | | UIPickerView | 250,250 | 750,750 | | UIProgressView | 250,750 | 750,750 | | UIScrollView | 250,250 | 750,750 | | UISearchBar | 250,250 | 750,750 | | UISegmentedControl | 250,250 | 750,750 | | UISlider | 250,250 | 750,750 | | UIStepper | 750,750 | 750,750 | | UISwitch | 750,750 | 750,750 | | UITabBar | 250,250 | 750,750 | | UITextField | 250,250 | 750,750 | | UITextView | 250,250 | 750,750 | | UIToolbar | 250,250 | 750,750 | | UIView | 250,250 | 750,750 | +-------------------------+---------------+------------------------------+

Recomendaciones:

  • Todos los objetos tienen 750,750 como su prioridad de resistencia a la compresión de contenido .
  • La mayoría tiene 250,250 como su prioridad de contenido abrazando .
  • UIImageView y UILabel tienen 251,251 como prioridad de contenido .
  • UIActivityIndicatorView , UIStepper y UISwitch tienen 750,750 como prioridad de contenido 750,750 .
  • UIProgressView tiene 250,750 como prioridad de contenido 250,750 .

Valores de prioridad programáticos predeterminados:

Al crear un objeto mediante programación (por ejemplo, UIButton() ), obtiene las siguientes prioridades.

+-------------------------+---------------+------------------------------+ | Object | Hugging (H,V) | Compression Resistance (H,V) | +-------------------------+---------------+------------------------------+ | UIActivityIndicatorView | 750,750 | 750,750 | | UIButton | 250,250 | 750,750 | | UIDatePicker | 750,750 | 750,750 | | UIImageView | 250,250 | 750,750 | | UILabel | 250,250 | 750,750 | | UIPageControl | 750,750 | 750,750 | | UIPickerView | 750,750 | 750,750 | | UIProgressView | 250,750 | 750,750 | | UIScrollView | 250,250 | 750,750 | | UISearchBar | 250,750 | 750,750 | | UISegmentedControl | 250,750 | 750,750 | | UISlider | 250,750 | 750,750 | | UIStepper | 750,750 | 750,750 | | UISwitch | 750,750 | 750,750 | | UITabBar | 250,750 | 750,750 | | UITextField | 250,250 | 750,750 | | UITextView | 250,250 | 750,750 | | UIToolbar | 250,750 | 750,750 | | UIView | 250,250 | 750,750 | +-------------------------+---------------+------------------------------+

Recomendaciones:

  • Existen diferencias de prioridad de abrazos de contenido entre objetos instanciados IB y objetos instanciados mediante programación para los siguientes objetos: UIDatePicker, UIImageView, UILabel, UIPageControl, UIPickerView, UISearchBar, UISegmentedControl, UISlider, UITabbar y UIToolbar.

Constantes programáticas

+----------------------------------+-------+ | Constant | Value | +----------------------------------+-------+ | UILayoutPriorityRequired | 1000 | | UILayoutPriorityDefaultHigh | 750 | | UILayoutPriorityDefaultLow | 250 | | UILayoutPriorityFittingSizeLevel | 50 | +----------------------------------+-------+

Cuando agrega una restricción (ya sea a través de Interface Builder o programáticamente), su prioridad predeterminada es 1000 .

Estoy intentando depurar un problema de diseño automático y conocer los valores predeterminados para las prioridades de Content Content y Content Hugging Resistance te ayudará.

¿Qué son? ¿Son específicos para componentes particulares? ¿Hay constantes que pueda usar para referirme a ellos?

Palabras clave: UILayoutPriority