2015-02-18 26 views
10

Quando utilizzo this guide per creare una vista progettata in un XIB, riutilizzabile da uno storyboard utilizzando l'attributo IBDesignable nella sottoclasse UIView, come faccio ha una dimensione fissa e il suo comportamento di ridimensionamento corrisponde a quello di una vista come UISwitch?Creare un UIView di dimensioni fisse, come UISwitch (usando IBDesignable)

Con "ridimensionamento comportamento" intendo anche durante la progettazione nel costruttore di interfaccia.

risposta

6

È possibile eseguire l'override di intrinsicContentSize() nella sottoclasse UIView. Quindi non sarà necessario fornire i limiti di altezza e larghezza nel generatore di interfacce.

override func intrinsicContentSize() -> CGSize { 
    return CGSizeMake(100, 100) 
} 
+0

Solo un inciso: IB non sembra rendere la dimensione correttamente a meno che non si mette vincoli di posizione sulla vista. Questo mi ha fatto inciampare all'inizio. –

+0

In realtà funziona, vi ringrazio molto –

+2

FYI: In Swift 3, Xcode mostra la firma come 'esclusione var intrinsicContentSize: CGSize {}' –

Problemi correlati