Voglio creare una categoria UIColor
nella mia app usando Xcode 6. Ma il fatto è che in Xcode 6 non esiste un modello di file di categoria Objective-C.
C'è qualche opzione per creare una categoria in Xcode 6?
@interface UIColor(MyCategory) ...
Voglio creare una categoria UIColor
nella mia app usando Xcode 6. Ma il fatto è che in Xcode 6 non esiste un modello di file di categoria Objective-C.
C'è qualche opzione per creare una categoria in Xcode 6?
@interface UIColor(MyCategory) ...
Risposte:
Non hanno dimenticato. L'hanno appena spostato senza dirlo a nessuno.
Fare clic su File
-> New
->File
Selezionare Objective-C file
sotto Sources
in iOS
o Mac OS
, rispettivamente, e fare clic su Avanti
Ora sotto File Type:
scegliere Category
, Protocol
oExtension
PS. Sotto File Name:
qualunque cosa digiti qui sarà o il Category
, Protocol
o Extension
nome.
Objective-C File
da XCode 6 è "Un file Objective-C vuoto.", Piuttosto che la mia descrizione che sarebbe, "uno dei vecchi, per nulla vuoti, file Objective-C a cui sei abituato" , che mi ha gettato abbastanza bene!
Aggiornamento Xcode6-Beta5
L'interfaccia è ora cambiata ed è possibile aggiungere una categoria direttamente dalla finestra Nuovo> File.
Vedi la risposta di Unmircea .
Sono stato sorpreso da solo, e credo che a causa di Swift si siano dimenticati del buon vecchio Objective-C.
Hai due opzioni:
Creare una classe Objective-C con il nome della categoria, ad esempio UIView+Powerups
, quindi modificare manualmente l'interfaccia in modo che corrisponda a quella della categoria. Tieni presente che lo snippet per l'interfaccia della categoria e l'implementazione funziona ancora, quindi è molto semplice: digita @interface-category
e @implementation-category
.
Importalo da Xcode 5! Usa questo comando:
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/
Chiudi e riapri Xcode 6 e troverai "Categoria Obiettivo-C" nella procedura guidata per il nuovo file.
Non esiste un modello predefinito per creare la categoria in Xcode 6 beta (per il momento), potrebbero aggiungere questa opzione in un secondo momento. Come soluzione puoi creare un Cocoa Touch Class
(non è corretto, lo so, ma nessun altro modo) chiamato UIImage+Additions
(ClassName + CategoryName) e sovrascrivere la sua interfaccia e l'implementazione in qualche modo
#import <UIKit/UIKit.h>
@interface UIImage(Additions)
+(void)testMethod;
@end
#import "UIImage+Additions.h"
@implementation UIImage (Additions)
+(void)testMethod
{
}
@end
Modifica
Questa risposta è stata scritta prima di trovare un modo per creare una categoria in Xcode 6 beta. Controlla la risposta di unmircea per il modo giusto di creare una categoria
Estendere la fantastica risposta di unmircea riguardo a : come creare una categoria personalizzata per implementare una UIColor
palette personalizzata , è possibile creare una categoria.
Dopo aver creato la tua categoria (in questo esempio, è una categoria chiamata ColorPalette
di classe UIColor
), avrai un'intestazione e un file di implementazione.
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];
}
Per utilizzare la tavolozza dei colori personalizzata, importa semplicemente l'intestazione nella classe in cui desideri implementare i colori personalizzati:
#import "UIColor+ColorPalette.h"
e chiama il colore come faresti per un colore standard redColor
, greenColor
oblueColor
.
Ecco un link a una discussione leggermente più approfondita creazione di una palette personalizzata.
Inoltre, ecco uno strumento che ti aiuta a selezionare i valori di colore personalizzati
Potresti semplicemente copiare i modelli che desideri da una versione precedente di Xcode, ho creato uno script di shell per questo: https://github.com/cDigger/AddMissingTemplates
È possibile creare un file "estensione" come 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 {
}
Fatto. goditi la programmazione