Я хочу створити категорію 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 {
}
Зроблено. насолоджуйтесь кодуванням