Tôi muốn tạo một danh mục trên UIColortrong ứng dụng của mình bằng Xcode 6. Nhưng điều đáng nói là trong Xcode 6 không có mẫu tệp danh mục Objective-C.
Có tùy chọn nào để tạo một danh mục trong Xcode 6 không?
@interface UIColor(MyCategory) ... vv
Tôi muốn tạo một danh mục trên UIColortrong ứng dụng của mình bằng Xcode 6. Nhưng điều đáng nói là trong Xcode 6 không có mẫu tệp danh mục Objective-C.
Có tùy chọn nào để tạo một danh mục trong Xcode 6 không?
@interface UIColor(MyCategory) ... vv
Câu trả lời:
Họ đã không quên. Họ chỉ di chuyển nó mà không nói cho ai biết.
Bấm File-> New->File
Chọn Objective-C filedưới Sourcestrong iOShoặc Mac OStương ứng và nhấn Next
Bây giờ dưới File Type:chọn một trong hai Category, ProtocolhoặcExtension
Tái bút Dưới File Name:bất cứ điều gì bạn gõ vào đây sẽ là một trong hai Category, Protocolhoặc ExtensionTên.
Objective-C Filebởi XCode 6 là "Tệp Objective-C rỗng", chứ không phải mô tả của tôi, "một trong những tệp Objective-C cũ, hoàn toàn trống rỗng mà bạn đã sử dụng" , đã ném tôi đi khá độc đáo!
Cập nhật Xcode6-Beta5
Giao diện hiện đã thay đổi và có thể thêm Danh mục trực tiếp từ cửa sổ Mới> Tệp.
Xem câu trả lời của unmircea .
Tôi đã rất ngạc nhiên, và tôi đoán vì Swift họ đã quên mất Objective-C cũ.
Bạn có hai lựa chọn:
Tạo một lớp Objective-C với tên danh mục, ví dụ UIView+Powerups, sau đó thay đổi giao diện theo cách thủ công để khớp với danh mục. Lưu ý rằng đoạn mã cho giao diện danh mục và triển khai vẫn hoạt động, do đó, cực kỳ dễ dàng: gõ @interface-categoryvà @implementation-category.
Nhập nó từ Xcode 5! Sử dụng lệnh này:
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/
Đóng và mở lại Xcode 6 và bạn sẽ tìm thấy "Objective-C Category" trong trình hướng dẫn cho tệp mới.
Không có mẫu được xác định trước để tạo danh mục trong Xcode 6 beta (trong thời gian hiện tại), họ có thể thêm tùy chọn này sau. Vì công việc xung quanh bạn có thể tạo một Cocoa Touch Class(không đúng cách tôi biết nhưng không có cách nào khác) có tên UIImage+Additions(ClassName + CategoryName) và ghi đè lên giao diện của nó và thực hiện một số điều như
#import <UIKit/UIKit.h>
@interface UIImage(Additions)
+(void)testMethod;
@end
#import "UIImage+Additions.h"
@implementation UIImage (Additions)
+(void)testMethod
{
}
@end
Chỉnh sửa
Câu trả lời này đã được viết trước khi tìm cách tạo danh mục trong Xcode 6 beta. Kiểm tra câu trả lời của unmircea cho cách tạo danh mục đúng
Mở rộng câu trả lời tuyệt vời của unmircea : cách tạo một danh mục tùy chỉnh để thực hiện UIColorbảng màu tùy chỉnh , bạn có thể tạo một danh mục.
Khi bạn đã tạo nhóm của bạn (trong ví dụ này, đó là một loại gọi là ColorPalettecác lớp UIColor ), bạn sẽ có một tiêu đề và một tập tin thực hiện.
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];
}
Để sử dụng bảng màu tùy chỉnh của bạn, chỉ cần nhập tiêu đề vào lớp mà bạn muốn triển khai các màu tùy chỉnh của mình:
#import "UIColor+ColorPalette.h"
và gọi màu sắc như bạn làm một màu sắc chuẩn như redColor, greenColorhoặc blueColor.
Đây là một liên kết đến một cuộc thảo luận sâu hơn một chút về việc tạo một bảng màu tùy chỉnh.
Ngoài ra, đây là một công cụ giúp bạn chọn các giá trị màu tùy chỉnh
Bạn chỉ có thể sao chép các mẫu bạn muốn từ một phiên bản Xcode cũ hơn, tôi đã tạo một tập lệnh shell cho việc này: https://github.com/cDigger/AddMissingTemsheet
Bạn có thể tạo tệp "tiện ích mở rộng" như 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 {
}
Làm xong. thích mã hóa