AppleSide è il nuovo magazine targato Saidmade dedicato all’universo Apple, presentato a ridosso della presentazione del nuovo Apple iPad. Sul magazine – con una taglio professionale – troverete moltissime news ed info dedicate alla mela morsicata: tra cui una sezione tutta dedicata al nuovissimo iPad! Inoltre sarà presente una sezione tutta dedicata allo sviluppo, curata dal sottoscritto.
Archivio gennaio, 2010
AppleSide: iPad, Apple e molto altro
Come selezionare un gruppo di tag che non hanno figli di un certo tipo
jQuery è giunto alla versione 1.4! Oltre a varie nuove features e la “solita” riscrittura del codice, tutta la documentazione è stata rivista in maniera davvero più leggibile rispetto a prima. Ma vediamo alla questione di questo post; problema: aggiungere, tramite jQuery, una classe a tutti i tag a che possiedono l’attributo target impostato a _blank!
WordPress: estendere le informazioni utente
Le informazioni su un utente, o autore, di un blog WordPress possono essere estese in modo semplice. Potrebbe ad esempio essere utile inserire la data di nascita, delle informazioni bibliografiche, l’indirizzo della sede di lavoro o, estremamente comodo, un campo per dei permessi speciali – da controllare in seguito nel template.
L’operazione che ci accingiamo a fare non necessita di un Plugin, ma il codice che serve può essere posizionato nel – consueto – file functions.php.
Apple Event: Radiopodcast Live
FireFox 3.5.7: come risolvere il difetto dei bordi arrotondati su un’immagine
A volte basta spostare un elemento, cambiando punto di vista, per risolvere un problema apparentemente insuperabile. Quando poi si ha a che fare con compatibilità tra i browser e CSS, inventarsi soluzioni “spettacolari” (acrobazie direi) è all’ordine del giorno. Quello che vi mostro è un modo semplice per applicare bordi arrotondati a delle immagini utilizzando -moz-border-radius, disponibile per Mozilla FireFox e -webkit-border-radius, per Safari e Google Chrome.
10 utili snippet per Apple iPhone
Eseguire un metodo dopo n secondi
Tutta la famiglia performSelector è davvero interessante e può essere utile in una moltitudine di casi. La sua applicazione più semplice e comune è la seguente:
1 2 3 4 5 | [self performSelector:@selector(myMethod) withObject:nil afterDelay:3]; // - (void)myMethod { NSLog(@"Hello World!"); } |
Tuttavia considerate che il “timer” non è preciso. Questa procedura, quindi, va usata quando non è richiesta una “notevole” precisione temporale.
Recuperare la versione dell’applicazione
1 2 |
YES, true o TRUE?
Andando a spulciare nel Kernel Apple iPhone è possibile renderci conto che YES, true e TRUE sono in pratica la stessa edentica cosa:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | // definizione di YES #define YES (BOOL)1 #define NO (BOOL)0 // definizione di true #define true 1 #define false 0 // definizione di TRUE #if !defined(TRUE) #define TRUE 1 #endif #if !defined(FALSE) #define FALSE 0 #endif |
Almeno per adesso…
Vibrazione
1 2 3 | #import <AudioToolbox/AudioToolbox.h> // AudioServicesPlaySystemSound (kSystemSoundID_Vibrate); |
Puntatore CGImageRef a partire da un UIImage
1 2 3 4 | UIImage *heart = [UIImage imageNamed:@"LittleHeart.png"]; CGImageRef image = [heart CGImage]; // L'immagine adesso può essere "rasterizzata" su un CGContextRef CGContextDrawImage(c, (CGRect){0, 0, 100, 100}, image); |
Animazioni
1 2 3 4 5 | [UIView beginAnimations:nil context:NULL]; [UIView setAnimationDuration:1.5]; [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; // ... [UIView commitAnimations]; |
NSLog
1 2 3 | NSLog(@"NSString object %@ ", myString); NSLog(@"Float: %f ", myFloat); NSLog(@"Integer: %i ", myInt); |
Convertitore da RGB a UIColor
1 | #define RGBA(r,g,b,a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a] |
Passare parametri ad un NSTimer
Sfruttando il parametro userInfo è possibile inviare un puntatore ad un nostro oggetto al metodo richiamato da timer.
1 2 3 4 5 6 7 8 9 10 11 12 13 | [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerMethod) userInfo:objectPointer repeats:YES]; // ... -(void)timerMethod:(NSTimer*)timer { // Recupero il puntatore al mio oggetto objectPointer = [timer userInfo]; // oppure [[timer userInfo] myMethod]; int a = [[timer userInfo] myProperty]; // che è lo stesso int a = [objectPointer myProperty]; } |
Tempo di esecuzione
Ecco un semplice modo per calcolare tempi brevi utili per verificare la velocità di esecuzione del codice:
1 2 3 4 | CFAbsoluteTime initialTime = CFAbsoluteTimeGetCurrent(); // ... code CFAbsoluteTime finalTime = CFAbsoluteTimeGetCurrent(); NSLog(@"Tempo trascorso %f", finalTime-initialTime); |
Commodore 64 Javascript emulator
Un po’ di tempo fa avevo segnalato la versione di un emulatore Commodore 64 scritto in Adobe Actionscript 3.0, oggi in una nuova versione:







Ultimi Commenti
roberto: ho rispsoto con piacere alle vostre domande. L’idea è davvero ottima. Sto cercando una soluzione per...
Sting: @Dario – puoi vedere un esempio qui: http://www.fight4fun.it/ cliccando sulla voce: MAPS Spero di...
vik: Giustappunto sto lavorando ad un progetto e il cliente mi ha chiesto di mostrare tutte le news (che sono CPT) in...
Giovambattista Fazioli: @paso: assolutamente si. Basta che identifichi il campo [cci]input[/cci] che vuoi far...
paso: Ciao vorrei chiedere una info, è possibile usare il datepicker con cform7, mi spiegp meglio posso implementare...