Tôi đang cố gắng tạo một lớp IBDesignable có thể có nền trong suốt khi được hiển thị trong Trình tạo giao diện. Cho đến nay, tôi đã nhận được nền đen mờ. Tôi đã thiết lập một bản trình bày đơn giản về vấn đề này:Xóa các khung nhìn IBDesignable có nền đen
Tôi đã đặt UIView trong cảnh này trong Trình tạo giao diện. Bạn không thể nhìn thấy nó bởi vì nền của nó là rõ ràng. Đây là cảnh nên trông như thế nào.
Sự khác biệt duy nhất trong ảnh chụp màn hình này là tôi đã thiết lập các lớp xem trước vô hình của chúng tôi để được 'DesignableView'.
Dưới đây là toàn bộ thực hiện của lớp DesignableView:
#import <UIKit/UIKit.h>
IB_DESIGNABLE
@interface DesignableView : UIView
@end
@implementation DesignableView
- (void)drawRect:(CGRect)rect {
//rendering code goes here
}
@end
Có một cách để cung cấp cho các IBDesignable xem đúng, nền trong suốt?
Nếu bạn không sử dụng 'drawRect:' bạn nên nhận xét; nó ảnh hưởng đến hiệu suất. Đó cũng có thể là vấn đề – Chris
Sự thật là việc triển khai trống 'drawRect: 'là một ý tưởng tồi, tuy nhiên điểm đó không liên quan đến câu hỏi này. Trong ví dụ này, hàm 'drawRect:' trống vì đó là cách đơn giản nhất để tái tạo vấn đề có nền đen trong IB. – BradB