37 votes

De superbes extraits de code UIKit/Objective-C

Je suis novice dans le développement Objective-C pour iPhone/iPod touch/iPad, mais je commence à découvrir beaucoup de puissance dans des lignes de code comme celle-ci :

[UIApplication sharedApplication].applicationIconBadgeNumber = 10;

Ce qui affichera ce badge de notification rouge distinctif sur votre application iphone avec le nombre 10.

N'hésitez pas à nous faire part de vos textes préférés en Objective-C pour l'iPhone/iPod touch/iPad. API PUBLIQUES UNIQUEMENT .

39voto

RRUZ Points 98685

Ouvrir une URL dans Safari

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com/"]];

Masquer la barre d'état

[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO];

Composer un numéro de téléphone (iPhone uniquement)

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://9662256888"]];

Lancez l'Apple Mail

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://mymail@myserver.com"]];

cesser de répondre aux événements tactiles

[[UIApplication sharedApplication] beginIgnoringInteractionEvents];

active les événements tactiles

[[UIApplication sharedApplication] endIgnoringInteractionEvents];

Afficher l'indicateur d'activité du réseau

[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

Masquer l'indicateur d'activité du réseau

[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;

Empêche l'iPhone de passer en mode veille

[UIApplication sharedApplication].idleTimerDisabled = YES;

14voto

progrmr Points 32412
  1. Afficher une fenêtre d'alerte :

    UIAlertView* alert = [[[UIAlertView alloc] initWithTitle:@"Warning" message:@"too many alerts" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] autorelease];
    [alert show] 
  2. Obtenez le chemin d'accès au dossier Documents :

    NSArray*  paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString* documentsDirectory = [paths objectAtIndex:0];
  3. Poussez un autre contrôleur de vue sur la barre de navigation :

    [self.navigationController pushViewController:anotherVC animated:YES];
  4. Faites disparaître un UIView en animant l'alpha jusqu'à 0 :

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:1];  // fade away over 1 seconds
    [aView setAlpha:0]; 
    [UIView commitAnimations];                      
  5. Obtenir le nom de l'application

    self.title = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"];
  6. Changez la barre d'état en noir

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque];
  7. Modifier le style de la barre de navigation (depuis un contrôleur de vue) :

    self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
  8. Enregistre une NSString dans NSUserDefaults :

    NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:loginName forKey:kUserLoginName];
  9. Obtenir une NSString à partir de NSUserDefaults :

    NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];

    NSString* loginName = [defaults stringForKey:kUserLoginName] ;

  10. Vérifier qu'un objet supporte une méthode avant de l'appeler :

    if ([item respondsToSelector:@selector(activateBOP:)]) {
        [item activateBOP:closeBOP];
    }
  11. Enregistrez le nom de la classe et de la fonction :

    NSLog(@"%s", __PRETTY_FUNCTION__);
  12. Ajouter des coins arrondis et/ou une bordure autour de tout élément UIView (self)

    self.layer.borderColor  = [UIColor whiteColor].
    self.layer.cornerRadius = 8;     // rounded corners
    self.layer.masksToBounds = YES;  // prevent drawing outside border
  13. Ouvrez l'application Google Maps avec les directions entre deux points de latitude et de longitude.

    NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f&dirflg=d", start.latitude, start.longitude, finish.latitude, finish.longitude];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];

10voto

HiGuy Points 584

Sauvegarder le bool dans les valeurs par défaut de l'utilisateur

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"Yes Bool"];

Copier un fichier de x à y

[[NSFileManager defaultManager] copyItemAtPath:x toPath:y error:nil];

Afficher une nouvelle vue

[self presentModalViewController:(UIViewController *) animated:YES];

Méthode d'effacement de l'écran

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {}

Obtenir le répertoire des documents

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

Chargement de l'URL

[MyWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://couleeapps.hostei.com"]]];  

Obtenir la date et l'heure actuelles :

NSCalendar *gregorian = [NSCalendar currentCalendar];
NSDateComponents *dateComponents = [gregorian components:(NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit) fromDate:[NSDate date]];

Type d'énumération propre :

typedef enum {
    a = 0, b = 1, c = 2
} enumName;

Arc de tirage en quartz

CGContextRef ctxt = UIGraphicsGetCurrentContext();
CGContextAddArc(ctxt, x, y, radius, startDeg, endDeg);

8voto

DenverCoder9 Points 1648

Faites vibrer l'appareil :

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

Ouvrez l'application Messages avec un numéro de téléphone spécifique :

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms:123456789"]];

Cessez de réagir aux événements touchants :

[[UIApplication sharedApplication] beginIgnoringInteractionEvents];

Recommencez à répondre :

[[UIApplication sharedApplication] endIgnoringInteractionEvents];

Et enfin, la seule ligne de code du navigateur :

[[webView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString: [urlText stringValue]]]];

5voto

Kevin Points 2012

Modifier le titre du bouton retour d'une UINavigationView. Utilisez ce code dans le UINavigationController avant de pousser la vue.

UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style: UIBarButtonItemStyleBordered target:nil action:nil];

self.navigationItem.backBarButtonItem = backBarButtonItem;
[backBarButtonItem release];

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X