1. Strings über mehrere Zeilen
In Xcode, können Sie "Pause" ein String über mehrere Zeilen, indem Sie am Ende mit einem Backslash "\". Diese Funktion kann nützlich sein, wenn wir zum Beispiel den HTML-Text in einem Steuerelement einfügen möchten UIWebView :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | htmlData = @ " \ NSString * htmlData @ = "\ <html> <head> \ <style type= \" text/css \"> \ body {background: # 000; color: # fff} \ </ Style> \ <title> Bericht </ title> </ head> \ <body> \ Versuchen Sie <h1> HTML </ h1> \ <ul> \ <li> Text HTML </ li> \ Posted on <li> </ li> \ <li> mehr 'Zeilen </ li> \ </ Ul> </ body> </ html> "; htmlData baseURL : [ NSURL URLWithString : @ "http://www.saidmade.com/" ] ] ; [WebView loadHTMLString: htmlData baseURL: [ NSURL URLWithString: @ "http://www.saidmade.com/"]]; |
2. Die Übergänge zwischen den Anzeigen mit Wirkung "gefaltetes Papier"
Hier ist eine nützliche Funktion zum Durchsuchen und risflogliare, zwei UIView :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | / / Führt einen Übergang mit Wirkung vom CURL zu einem UIView UIView / / @ Params Platzhalter (UIView) Haupt- / / @ Params fview (UIView) der Abreise / / @ Params TView (UIView) Ankunft / / @ Params forward (BOOL) durchsuchen nach oben oder unten void ) makeTansitionFromView : ( UIWindow * ) placeholder fromView : ( UIView * ) fview toView : ( UIView * ) tview forward : ( BOOL ) forward { - (Void) makeTansitionFromView: (UIWindow *) Platzhalter fromView: (UIView *) fview toView: (UIView *) TView forward: (BOOL) {vorwärts nil context : NULL ] ; [UIView beginAnimations: nil context: NULL]; 1.5 ] ; [UIView setAnimationDuration: 1,5]; forward?UIViewAnimationTransitionCurlUp : UIViewAnimationTransitionCurlDown forView : placeholder cache : YES ] ; [UIView setAnimationTransition: forward UIViewAnimationTransitionCurlUp: UIViewAnimationTransitionCurlDown forView: Platzhalter-Cache: YES]; ; [TView removeFromSuperview]; fview ] ; [Platzhalter addSubview: fview]; ; [Fview removeFromSuperview]; tview ] ; [Platzhalter addSubview: TView]; ; [UIView commitAnimations]; } |
Es kann in dieser Weise verwendet werden:
1 2 3 4 | / / Display - vorwärts blättern window fromView : primaView.view toView : secondaView.view forward : YES ] ; [Self makeTansitionFromView: Fenster fromView: primaView.view toView: secondaView.view forward: YES]; / / Hide - durch back flip window fromView : secondaView.view toView : primaView.view forward : NO ] ; [Self makeTansitionFromView: Fenster fromView: secondaView.view toView: primaView.view forward: NO]; |
3. Verhindern der Auto-Dimm der Anzeige
Um mit Vorsicht verwendet werden, unter Androhung der sofortigen Verbrauch der Batterie, macht diese Codezeile es möglich, dass unsere Anwendung immer sichtbar und verhindert das Apple iPhone geht in den "Standby"
1 | .idleTimerDisabled = YES ; [UIApplication sharedApplication] IdleTimerDisabled = YES.; |
4. Network Activity Indicator
Die Animation, die auf der Statusleiste am oberen Bildschirmrand des Apple iPhone erscheint, kann auch verwendet werden, um eine Anwendung in unserem Netzwerk Highlight werden:
1 2 3 4 5 6 7 | / / Show Network Activity Indicator ... .networkActivityIndicatorVisible = YES ; [UIApplication sharedApplication] NetworkActivityIndicatorVisible = YES.; / / Ihr Betrieb ... / / Hide Network Activity Indicator ... .networkActivityIndicatorVisible = NO ; [UIApplication sharedApplication] NetworkActivityIndicatorVisible = NO.; |
5. Personal Activity Indicator
Wenn Sie nicht über die Statusleiste, kann nützlich sein, um einen unserer Activity Indicator zeigen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | / / Global irgendwo ... Oedipus in einem Delegate (. H) * UIActivityIndicatorView Aktivität; / / Initialisierung der viewDidLoad In loadView oder Activity Indicator UIActivityIndicatorView alloc ] initWithActivityIndicatorStyle : UIActivityIndicatorViewStyleWhite ] ; Aktivität = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle: UIActivityIndicatorViewStyleWhite]; activity ] ; [Self.view addSubview: Aktivität]; CGPointMake ( 160 , 240 ) ] ; [SetCenter Aktivität: CGPointMake (160, 240)]; ; [StopAnimating Aktivität]; / / Wenn wir brauchen void ) someMethod { - (Void) {someMethod ; [StartAnimating Aktivität]; / / Zu tun ... ; [StopAnimating Aktivität]; } |
6. Lage
Mit diesem Snippet kann man verstehen, dass "Sprache" ist unser Motto gesetzt:
1 2 3 4 5 6 7 | / / Prüfen Sprache und Lokalisierung defaults = [ NSUserDefaults standardUserDefaults ] ; NSUserDefaults * defaults = [ NSUserDefaults standardUserDefaults]; languages = [ defaults objectForKey : @ "AppleLanguages" ] ; NSArray * languages = [defaults objectForKey: @ "AppleLanguages"]; currentLanguage = [ languages objectAtIndex : 0 ] ; NSString * CurrentLanguage = [Sprachen objectAtIndex: 0]; "Current Locale: %@" , [ [ NSLocale currentLocale ] localeIdentifier ] ) ; NSLog (@ "Current Locale:% @", [[ NSLocale currentLocale] LocaleIdentifier]); "Current language: %@" , currentLanguage ) ; NSLog (@ "Aktuelle Sprache:% @", CurrentLanguage); |
7. iPhone oder iPod?
Diese Klasse ist nützlich, um festzustellen, welches Gerät von Apple läuft unserer Anwendung. Wir können nicht nur bestimmen, das Modell (iPhone oder iPod Touch), aber auch die Version. : Erstellen Sie zwei Dateien UIDevice-hardware.h und UIDevice-hardware.m :
1 2 3 4 5 6 7 8 9 10 11 12 13 | / / UIDevice-HARDWARE.H # Import <UIKit/UIKit.h> @ # Define IPHONE_1G_NAMESTRING "iPhone 1G" @ # Define IPHONE_3G_NAMESTRING "iPhone 3G" @ # Define IPHONE_3GS_NAMESTRING "iPhone 3G" @ # Define IPOD_1G_NAMESTRING "iPod touch 1G" @ # Define IPOD_2G_NAMESTRING "iPod Touch 2G" Hardware ) @ Interface UIDevice (Hardware) NSString * ) platform; - ( NSString *)-Plattform; NSString * ) platformString; - ( NSString *) platformString; @ End |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | / / UIDevice-hardware.m # Import "UIDevice-HARDWARE.H" # Include <sys/types.h> # Include <sys/sysctl.h> Hardware ) @ Implementation UIDevice (Hardware) / * Plattformen iPhone1, 1 = 1G iPhone iPhone1, 2 = iPhone 3G iPhone2, 1 = iPhone 3G iPod1, 1 = iPod touch 1G iPod2, 1 = iPod touch 2G * / NSString * ) platform { - ( NSString *) {Plattform size_t size; , NULL , & size, NULL , 0 ) ; sysctlbyname ("hw.machine", NULL, & Größe, NULL, 0); machine = malloc ( size ) ; char * Maschine = malloc (size); , machine, & size, NULL , 0 ) ; ysctlbyname ("hw.machine", Maschinen, & Größe, NULL, 0); platform = [ NSString stringWithCString : machine ] ; NSString * platform = [ NSString stringWithCString: machine]; machine ) ; free (Maschine); Rückkehr-Plattform; } NSString * ) platformString { - ( NSString *) {platformString platform = [ self platform ] ; NSString * platform = [self-Plattform]; platform isEqualToString : @ "iPhone1,1" ] ) return IPHONE_1G_NAMESTRING; if ([Plattform isEqualToString: @ "iPhone1, 1"]) return IPHONE_1G_NAMESTRING; platform isEqualToString : @ "iPhone1,2" ] ) return IPHONE_3G_NAMESTRING; if ([Plattform isEqualToString: @ "iPhone1, 2"]) return IPHONE_3G_NAMESTRING; platform isEqualToString : @ "iPhone2,1" ] ) return IPHONE_3GS_NAMESTRING; if ([Plattform isEqualToString: @ "iPhone2, 1"]) return IPHONE_3GS_NAMESTRING; platform isEqualToString : @ "iPod1,1" ] ) return IPOD_1G_NAMESTRING; if ([Plattform isEqualToString: @ "iPod1, 1"]) return IPOD_1G_NAMESTRING; platform isEqualToString : @ "iPod2,1" ] ) return IPOD_2G_NAMESTRING; if ([Plattform isEqualToString: @ "iPod2, 1"]) return IPOD_2G_NAMESTRING; ; return NULL; } @ End |
In unserer Delegation zu geben:
1 2 3 4 5 6 | # Import "UIDevice-HARDWARE.H" / / void ) checkDeviceTypeAndCapabilities { - (Void) {checkDeviceTypeAndCapabilities "type: %@" , [ [ UIDevice currentDevice ] platform ] ) ; NSLog (@ "-Typ:% @", [[UIDevice currentDevice] Plattform]); "type: %@" , [ [ UIDevice currentDevice ] platformString ] ) ; NSLog (@ "-Typ:% @", [[UIDevice currentDevice] platformString]); } |
8. Zimmer
Wenn Sie eine Anwendung, die Zugriff auf die Funktionen der Kammer ist es, sicherzustellen, dass die "Gerät" werden diese Features (lt. Apple-Richtlinien) unterstützt nutzt schreiben:
1 2 3 4 5 6 | * UIImagePickerController imgPicker; / / ... UIImagePickerController isSourceTypeAvailable : UIImagePickerControllerSourceTypeCamera ] ) ) { if (([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera])) { self.imgPicker.sourceType = UIImagePickerControllerSourceTypeCamera; self.imgPicker animated : YES ] ; [Self presentModalViewController: self.imgPicker animated: YES]; } |
9. Foto-Alben und Foto-Bibliothek
Ähnlich wie, was passiert mit der Kammer, ist es am besten schauen Sie doch, wenn Sie die Image-Bibliothek zugreifen:
1 2 3 4 5 6 7 8 9 10 11 | * UIImagePickerController imgPicker; / / ... UIImagePickerController isSourceTypeAvailable : UIImagePickerControllerSourceTypeSavedPhotosAlbum ] ) ) { if (([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeSavedPhotosAlbum])) { self.imgPicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; self.imgPicker animated : YES ] ; [Self presentModalViewController: self.imgPicker animated: YES]; } / / Oder ... UIImagePickerController isSourceTypeAvailable : UIImagePickerControllerSourceTypePhotoLibrary ] ) ) { if (([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypePhotoLibrary])) { self.imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; self.imgPicker animated : YES ] ; [Self presentModalViewController: self.imgPicker animated: YES]; } |
10. Verfügbarkeit und Art des Netzes
Zum Glück hat Apple eine Klasse für uns mit dem Netzwerk-Status zu bestimmen geschrieben. Dies kann in unserer Anwendung verwendet werden soll, um zu überprüfen, dass Ihr Netzwerk-Topologie: Ethernet oder WiFi. Herunterladen Reachability.h und Reachability.m . Fügen Sie das Rahmenprogramm SystemConfiguration.framework . Hier können Sie eine Funktion schreiben, wie:
1 2 3 4 5 6 7 8 9 10 | / / In Ihrer Delegierter. H Erreichbarkeit @ class; / / / / Die Delegierten in. M # Import "Reachability.h" / / Überprüfen Sie die Netzabdeckung BOOL ) CheckNetworkStatus { - (BOOL) {CheckNetworkStatus Reachability reachabilityForInternetConnection ] retain ] != NotReachable ) ; return ([[Erreichbarkeit reachabilityForInternetConnection] behalten] = NotReachable!); } |
Bitte beachten Sie, dass der Code von Apple, das in vollständiger Quellenangabe Reachability.zip für SDK 3.1.2 ist. Wenn Sie zum Ausfüllen für SDK 2.2.1 versuchen Sie brauchen, um auf einige Teile des Codes Kommentar werden nicht von den "alten" (auch wenn sie noch existieren) SDK, wie definieren unterstützt:
1 2 | kSCNetworkReachabilityFlagsConnectionOnTraffic kSCNetworkReachabilityFlagsConnectionOnDemand |
und das Stück Code (für Kommentar):
1 2 3 4 5 6 7 8 9 10 11 12 | / / Wenn ((((flags & kSCNetworkReachabilityFlagsConnectionOnDemand) = 0)! | | / / (Flags & kSCNetworkReachabilityFlagsConnectionOnTraffic)! = 0)) / / { / / / / ... und die Verbindung wird on-demand (oder on-Verkehr), wenn die / / / / Der Aufruf der Anwendung verwendet die APIs oder höher CFSocketStream / / / / If ((flags & kSCNetworkReachabilityFlagsInterventionRequired) == 0) / / { / / / / ... und keine [user] ist ein Benutzereingriff erforderlich / / RetVal = ReachableViaWiFi; / /} / /} |










Es gibt keine Kommentare für diesen Beitrag
Hinterlasse einen Kommentar