Spostare il doppio Tap sul simulatore
Il simulatore iPhone/iPad in Xcode permette di simulare il doppio tap con la pressione del tasto ALT. Questo è utile per simulare anche la funzione di Pinch, quella usata per ingrandire o allontare contenuti nelle view con scroll o in oggetti UIWebView. Ebbene, alcuni di voi avranno notato che la simulazione delle “due dita” procede in modo simmetrico partendo sempre dal centro dello schermo. Per muovere questo “centro” è sufficiente tenere premuto anche il tasto SHIFT.
Workround sulla rotazione di PDF in un UIWebView su iPad
Se visualizzare un documento PDF all’interno di un UIWebView su Apple iPad, vi sarà capitato che durante la rotazione del device (sia fisico che sul simulatore) il PDF risulta “spaccato” a metà, mostrando una parte più bassa rispetto ad un’altra. Questo è un baco noto e per risolverlo si potrebbe inserire nella notifica di rotazione un [webView reload].
Tuttavia esiste un modo più pulito per risolvere la cosa. Inserite questo codice quando la rotazione è terminata: nel shouldAutorotateToInterfaceOrientation o nell’handler gestito con le notifiche:
1 2 3 4 5 6 7 8 9 | // Workaround: questo è un baco di iPad. Si potrebbe anche ricaricare la // web view [webViewPDF reload] ma questo procedimento è migliore e più fluido for (UIView *subView in [webViewPDF subviews]) { for (UIView *subSubView in [subView subviews]) { if ([subSubView class] != [UIImageView class]) { [subSubView setNeedsDisplay]; } } } |
Convertire un CGRect in NSString e vice versa
1 2 3 4 5 6 7 | CGRect myRect = CGRectMake(20, 30, 100, 200); NSString *myString = NSStringFromCGRect(myRect); NSLog(@"myString %@", myString); // Inverso CGRect myRect = CGRectFromString(myString); |
Device
Un modo diverso di controllare se il device è un Apple iPad o meno:
1 2 3 4 5 6 7 | + (BOOL)isDeviceAniPad { #ifdef UI_USER_INTERFACE_IDIOM() return UI_USER_INTERFACE_IDIOM(); #else return NO; #endif } |
Universal App
Consigliato da Apple:
1 2 3 4 5 | if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { // The device is an iPad running iPhone 3.2 or later. } else { // The device is an iPhone or iPod touch. } |
Questo perchè le Universal Application, cioè le applicazioni che funzionano sia su Apple iPhone che su Apple iPad, sono compilate in un unico eseguibile!
Bordi arrotondati sulle view
1 2 3 4 5 6 7 | // Ricordatevi di aggiungere il framework QuartzCore.framework: #import <QuartzCore/QuartzCore.h> // ... [[myView layer] setCornerRadius:16.0]; [[myView layer] masksToBounds:YES]; |
Bordi…
1 2 3 4 5 6 7 | // Ricordatevi di aggiungere il framework QuartzCore.framework: #import <QuartzCore/QuartzCore.h> // ... [[myView layer] setBorderWidth:5.0]; [[myView layer] setBorderColor:[[UIColor blackColor] CGColor]]; |
Da UIColor a CGColor
Appena visto sopra! La classe UIColor permette di farlo in modo assai semplice:
1 | CGColor black = [[UIColor blackColor] CGColor]; |
Disabilitare la selezione e il menu contestuale su link in una UIWebView
1 2 3 4 5 | // Disabilità menu contestuale sui Link [webView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitTouchCallout='none';"]; // Disabilita la selezione [webView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitUserSelect='none';"]; |
Chiude un’applicazione senza mandarla in Background
Negli iOS che supportano il multitasking la pressione del tasto Home non chiude effettivamente l’applicazione, ma la pone in uno stato idle in background. Spesso, tuttavia, questa caratteristica potrebbe dare dei problemi e sarebbe meglio chiudere definitivamente l’applicazione.
![]()
Per fare questo basta impostare la chiave UIApplicationExitsOnSuspend nel file plist dell’applicazione. Potete usare direttamente Xcode per editare il file plist dell’applicazione come mostrato nella figura qui sopra, oppure aprirlo con un qualsiasi editor e inserire il codice mostrato qui sotto:
1 2 3 4 5 6 7 8 | <plist version="1.0"> <dict> ... <key>UIApplicationExitsOnSuspend</key> <true/> ... </dict> </plist> |








6
Non ci sono commenti per questo Post
Lascia un commento