Я хочу создать категорию UIColor
в своем приложении, используя Xcode 6. Но дело в том, что в Xcode 6 нет шаблона файла категории Objective-C.
Есть ли возможность создать категорию в Xcode 6?
@interface UIColor(MyCategory) ...
т.д.
Я хочу создать категорию UIColor
в своем приложении, используя Xcode 6. Но дело в том, что в Xcode 6 нет шаблона файла категории Objective-C.
Есть ли возможность создать категорию в Xcode 6?
@interface UIColor(MyCategory) ...
т.д.
Ответы:
Они не забыли. Они просто перенесли это, никому не сказав.
Нажмите File
-> New
->File
Выберите Objective-C file
ниже Sources
в iOS
или Mac OS
соответственно и нажмите Далее
Теперь под File Type:
выбрать либо Category
, Protocol
илиExtension
PS. Под File Name:
что вы вводите здесь будет либо Category
, Protocol
или Extension
имя.
Objective-C File
XCode 6, это «Пустой файл Objective-C», а не мое описание, которое будет «одним из старых, совсем не пустых файлов Objective-C, к которому вы привыкли». что меня довольно приятно отбросило!
Xcode6-Beta5 обновление
Интерфейс теперь изменился, и можно добавлять категорию прямо из окна «Создать»> «Файл».
Смотрите ответ unmircea .
Я сам был удивлен, и, думаю, из-за Свифта они забыли о старом добром Objective-C.
У вас есть два варианта:
Создайте класс Objective C с именем категории, например UIView+Powerups
, затем вручную измените интерфейс, чтобы соответствовать интерфейсу категории. Обратите внимание, что фрагмент интерфейса и реализации категории все еще работает, так что это очень просто: введите @interface-category
и @implementation-category
.
Импортируйте его из Xcode 5! Используйте эту команду:
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/
Закройте и снова откройте Xcode 6, и вы найдете «категорию Objective-C» в мастере для нового файла.
Нет предопределенного шаблона для создания категории в бета-версии Xcode 6 (пока), они могут добавить эту опцию позже. В качестве обходного Cocoa Touch Class
пути вы можете создать имя UIImage+Additions
(ClassName + CategoryName) (это не совсем правильно, я знаю, но никак иначе ) и переопределить его интерфейс и реализацию.
#import <UIKit/UIKit.h>
@interface UIImage(Additions)
+(void)testMethod;
@end
#import "UIImage+Additions.h"
@implementation UIImage (Additions)
+(void)testMethod
{
}
@end
Редактировать
Этот ответ был написан до нахождения способа создания категории в бета-версии Xcode 6. Проверьте ответ unmircea на правильный способ создания категории
Расширяя фантастический ответ unmircea о том, как создать собственную категорию для реализации пользовательской UIColor
палитры, вы можете создать категорию.
После того как вы создали категорию (в данном примере это категория называется ColorPalette
из класса UIColor
), вы будете иметь заголовок и файл реализации.
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];
}
Чтобы использовать свою собственную цветовую палитру, просто импортируйте заголовок в класс, где вы хотите реализовать свои собственные цвета:
#import "UIColor+ColorPalette.h"
и называть цвет , как вы бы стандартный цвет , как redColor
, greenColor
или blueColor
.
Вот ссылка на чуть более глубокое обсуждение создания пользовательской палитры.
Кроме того, вот инструмент, который поможет вам выбрать пользовательские значения цвета
Вы можете просто скопировать нужные шаблоны из более старой версии XCode, для этого я создал скрипт оболочки: https://github.com/cDigger/AddMissingTemplates
Вы можете создать «расширение» файла, например, 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 {
}
Готово. наслаждайся кодированием