Skip to main content

Objective C: allineare una UIView all’interno di una Parent View senza utilizzare la Storyboard

Ho già avuto modo di parlare in un articolo precedente di come a volte sia necessario eliminare da codice i vincoli impostati a livello di Storyboard. In molti casi, una volta rimossi quei vincoli, è necessario impostarne di nuovi: per farlo direttamente da codice possiamo utilizzare il metodo addConstraint, che ci consente di impostare dei vincoli tra il posizionamento di un qualsiasi oggetto e quello di qualsiasi altro oggetto presente nella View.

Nella maggior parte dei casi conviene prendere come riferimento la Parent View del nostro oggetto: vediamo alcuni esempi.

(altro…)

 

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!

 

 

Abilitare e disabilitare il Lazy Loading con Entity Framework

Una delle funzionalità più interessanti dell’Entity Framework è la possibilità di differire il caricamento dei dati negli oggetti di tipo Entity: questa caratteristica, nota come Lazy Loading, consente di alleggerire notevolmente il carico sul Database in quanto le query vengono effettuate soltanto nel momento in cui il codice ha effettivamente bisogno di valorizzare la proprietà richiesta.

Per capire meglio come funziona, prendiamo ad esempio il seguente sistema di classi di tipo Entity:

(altro…)

 

Suoneria e notifiche non funzionanti su Samsung Galaxy S5 dopo l’aggiornamento a Android Lollipop

Il vostro Galaxy S5 ha perso l’uso della parola in conseguenza dell’ultimo aggiornamento del sistema operativo di casa Google? Niente paura! Si tratta di un problema noto, comune a molti utenti e dovuto a una delle molte novità di Android 5, meglio noto come Lollipop: un cambiamento migliorativo della cosiddetta modalità blocco (in inglese: blocking mode), già presente nelle scorse versioni del sistema. Nelle release precedenti questa funzionalità consentiva di bloccare la suoneria e le notifiche per tutti i contatti della rubrica: l’icona corrispondente, un cerchio con una linea orizzontale al suo interno, faceva la sua comparsa in alto a sinistra.

La nuova impostazione introdotta con Lollipop consente di attivare la cosiddetta modalità priorità (in inglese: priority mode) che equivale grossomodo a una modalità blocco attiva soltanto per i contatti non presenti nella lista dei Preferiti: in tal modo il dispositivo reagirà soltanto alle chiamate e le notifiche provenienti da una ristretta cerchia di persone importanti.

 

android-lollipop-default-notifications

 

Una possibilità indubbiamente utile, se non fosse che il sistema tende ad attivarla automaticamente a seguito di alcuni aggiornamenti: il risultato è che lo smartphone diventa improvvisamente muto, senza peraltro fornire indicazioni adeguate sulle cause del malfunzionamento.

(altro…)