Je veux créer une catégorie sur UIColor
dans mon application à l'aide de Xcode 6. Mais le fait est que dans Xcode 6, il n'y a pas de modèle de fichier de catégorie Objective-C.
Existe-t-il une option pour créer une catégorie dans Xcode 6?
Ils n'ont pas oublié. Ils l'ont simplement déplacé sans le dire à personne.
Cliquez sur File
-> New
-> File
Sélectionnez Objective-C file
sous Sources
dans iOS
ou Mac OS
respectivement et cliquez sur Suivant.
Maintenant, sous File Type:
choisissez Category
, Protocol
ou Extension
.
PS Sous File Name:
tout ce que vous tapez ici sera soit le Category
, Protocol
ou Extension
Nom.
Pour créer CategoryBaseClass + CategoryName.m/.h:
Mise à jour de Xcode6-Beta5
L'interface a maintenant changé et il est possible d'ajouter une catégorie directement à partir de la fenêtre Nouveau> Fichier.
Voir réponse d'unmircea .
J'étais moi-même surpris, et je suppose qu'en raison de Swift ils ont oublié du bon vieil Objective-C.
Vous avez deux options:
Créez une classe Objective-C avec le nom de la catégorie, exemple UIView+Powerups
, puis modifiez manuellement l'interface pour qu'elle corresponde à celle de la catégorie. Notez que l'extrait de code pour l'interface de catégorie et l'implémentation fonctionne toujours. C'est donc extrêmement facile: tapez @interface-category
et @implementation-category
.
Importez-le de Xcode 5! Utilisez cette commande:
cp -r /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File\ Templates/Cocoa\ Touch/Objective-C\ category.xctemplate /Applications/Xcode6-Beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File\ Templates/Source/
Fermez et rouvrez Xcode 6 et vous trouverez "Catégorie Objective-C" dans l'assistant du nouveau fichier.
Il n'y a pas de modèle prédéfini pour créer une catégorie dans Xcode 6 bêta (pour le moment), ils peuvent ajouter cette option ultérieurement. En tant que solution de contournement, vous pouvez créer un Cocoa Touch Class
(ce n’est pas correct, mais je ne le sais pas autrement) nommé UIImage+Additions
(NomClasse + NomCatégorie) et redéfinir son interface et son implémentation comme
#import <UIKit/UIKit.h>
@interface UIImage(Additions)
+(void)testMethod;
@end
#import "UIImage+Additions.h"
@implementation UIImage (Additions)
+(void)testMethod
{
}
@end
Éditer
Cette réponse a été écrite avant de trouver un moyen de créer une catégorie dans la version bêta de Xcode 6. Vérifiez la réponse de unmircea pour la bonne façon de créer une catégorie
Étendre réponse fantastique d'unmircea re: comment créer une catégorie personnalisée pour implémenter une palette personnalisée UIColor
, vous pouvez créer une catégorie.
Une fois que vous avez créé votre catégorie (dans cet exemple, il s’agit d’une catégorie appelée ColorPalette
de la classe . UIColor
), vous aurez un en-tête et un fichier d'implémentation.
UIColor + ColorPalette.h
#import <UIKit/UIKit.h>
@interface UIColor (ColorPalette)
// Your custom colors
+ (UIColor *) customRedButtonColor;
+ (UIColor *) customGreenButtonColor;
@end
UIColor + ColorPalette.m
#import "UIColor+ColorPalette.h"
@implementation UIColor (ColorPalette)
// Button Colors
+ (UIColor *) customRedButtonColor {
return [UIColor colorWithRed:178.0/255.0 green:25.0/255.0 blue:0.0/255.0 alpha:1.0];
}
+ (UIColor *) customGreenButtonColor {
return [UIColor colorWithRed:20.0/255.0 green:158.0/255.0 blue:96.0/255.0 alpha:1.0];
}
Pour utiliser votre palette de couleurs personnalisée, importez simplement l'en-tête dans la classe dans laquelle vous souhaitez implémenter vos couleurs personnalisées:
#import "UIColor+ColorPalette.h"
et appelez la couleur comme une couleur standard comme redColor
, greenColor
ou blueColor
.
Voici un lien vers une discussion un peu plus approfondie de la création d'une palette personnalisée.
De plus, voici n outil pour vous aider à sélectionner les valeurs de couleur personnalisées
Vous pouvez simplement copier les modèles que vous voulez depuis une ancienne version de Xcode. J'ai créé un script Shell pour cela: https://github.com/cDigger/AddMissingTemplates
Vous pouvez créer un fichier "extension" comme NSString + Helper:
1: File → New → File... or use ⌘N.
2: Name NSString+Helper (For example)
3: create the file
4: Remove the code from file
5: add
extension NSString {
}
Terminé. profiter du codage