Objective C: rimuovere da codice i vincoli impostati tramite Storyboard

Objective C: rimuovere da codice i vincoli impostati tramite Storyboard

Da quando XCode le prevede, le UIStoryboard sono diventate una componente quasi imprescindibile per lo sviluppo di qualsiasi app grazie alla semplicità con cui consentono di realizzare l’interfaccia grafica e il posizionamento accurato degli oggetti. Può però capitare di avere la necessità di dover rimuovere da codice i vincoli impostati tramite la Storyboard, ad esempio per cambiare la posizione di un oggetto in conseguenza di un evento attivato dall’interazione dell’utente.

Per far questo ho messo a punto il seguente metodo statico:

Potete inserirlo in una qualsiasi classe helper già presente nel vostro progetto oppure crearne una apposita (la mia si chiama LayoutHelper) e richiamarlo nel seguente modo:

Come potete vedere il metodo può essere configurato per eliminare i vincoli presenti tra la nostra view e quella che la contiene e/o quelle che sono in essa contenute. Inutile dire che tanto l’oggetto self.myView quanto i suoi parent / children possono appartenere a una qualsiasi classe derivata da UIView (UIButton, UIImage, UILabel, etc.).

Ricordate che, una volta rimossi i vincoli definiti a livello di Storyboard, potete impostarne di nuovi direttamente da codice utilizzando il metodo descritto in quest’altro articolo.

Felice sviluppo!

 

RELATED POSTS

About Ryan

IT Project Manager, Web Interface Architect e Lead Developer di numerosi siti e servizi web ad alto traffico in Italia e in Europa. Dal 2010 si occupa anche della progettazione di App e giochi per dispositivi Android, iOS e Mobile Phone per conto di numerose società italiane.

View all posts by Ryan