我正试图从Class A
调用绘图方法,例如位于Class B
的方法,该方法正在被调用,但没有绘图。
- (void)drawIt
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [UIColor whiteColor].CGColor);
NSString *string = [NSString stringWithString:@"TEXT"];
[string drawAtPoint:CGPointMake(12, 51) withFont:[UIFont fontWithName:@"Helvetica" size:35.0f]];
}
为什么我可以从其他类调用此方法?
答案 0 :(得分:1)
首先创建类'YourView
',它是UIView的子类。写入分类代码viewDidLoad
方法,该方法属于B类
- (void)viewDidLoad{
YourView *temp = [[YourView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
[self.view addSubview:temp];
}
在YourView.m中实施- (void)drawRect:(CGRect)rect
方法
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [UIColor whiteColor].CGColor);
NSString *string = [NSString stringWithString:@"TEXT"];
[string drawAtPoint:CGPointMake(12, 51) withFont:[UIFont fontWithName:@"Helvetica" size:35.0f]];
}
我认为这会对你有所帮助。
答案 1 :(得分:0)
如果您使用的是UIView或某个子类,则需要重载drawRect方法。所以,在drawRect中你可以在其他类中调用你的方法。此外,您也可以通过参数传递上下文。