我想创建一个UIView Class,您可以使用多个选项进行初始化。
我认为问题是drawRect()
方法。是否可以使用某个选项(如
[[MyUIView alloc]initWithColor:[UIColor blueColor]]
我读到我不应该在没有初始化对象的情况下调用drawRect()
方法。
那么如何在不手动调用的情况下实现上述声明呢?
到目前为止我尝试过:
我以为我可以初始化View然后调用Method
[MyView changeColorTo:green]
试图重绘View但是我无法让它工作。
在coreGraphics
方法中,使用drawRect()
(使用某种颜色,应该是可选择的)绘制圆角矩形也许很重要。
如何实现我想要的行为?
答案 0 :(得分:1)
呼叫
[self setNeedsDisplayInRect:aCGRect];
为你调用drawRect:
编辑颜色属性:
@interface MyView: UIView
@property (nonatomic, strong) UIColor *drawColor;
@end
@implementation MyView
@synthesize drawColor;
- (id)initWithWhatever
{
self.drawColor = [UIColor infraRedColor];
[self setNeedsDisplayInRect:aRect];
}
- (void)drawRect:(CGRect)r
{
// use self.drawColor
}
@end