Tôi có UIImageView được phân lớp và cố gắng ghi đè drawRect để tôi có thể vẽ trên đầu hình ảnh bằng cách sử dụng Quartz 2D. Tôi biết đây là một câu hỏi mới, nhưng tôi không thấy những gì tôi đã làm sai. Dưới đây là giao diện:drawRect không được gọi trong lớp con của UIImageView
#import <UIKit/UIKit.h>
@interface UIImageViewCustom : UIImageView {
}
- (void)drawRect:(CGRect)rect;
@end
Và việc thực hiện:
#import "UIImageViewCustom.h"
@implementation UIImageViewCustom
- (id)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
}
return self;
}
- (void)drawRect:(CGRect)rect {
// do stuff
}
- (void)dealloc {
[super dealloc];
}
@end
tôi đặt một breakpoint trên drawRect
và nó không bao giờ chạm, dẫn tôi nghĩ rằng nó không bao giờ được gọi là gì cả. Không phải là nó được gọi là khi lượt xem đầu tiên tải? Tôi đã ghi đè không chính xác?
vui lòng xem câu trả lời được cập nhật, xin lỗi vì đã làm phiền bạn lần nữa. –
okies. Tôi đã xem nó sẽ hoạt động nếu bạn tạo một lớp con của UIView thay vì UIIMageView, bây giờ bạn có thể thêm các thuộc tính của UIImageView vào lớp con của bạn, tôi đã làm nó một lần để vẽ nền của các ô xem bảng của tôi, để biết thêm chi tiết bạn có thể kiểm tra tại.http: //stackoverflow.com/questions/1784827/draw-a-custom-cell-for-tableview-uitableview-with-changed-colors-and-separa –