面试题答案
一键面试- 重写的方法:
- 需要重写
drawRect:
方法。drawRect:
方法是UIView中用于执行视图内容绘制的方法,当视图需要更新显示内容时会被调用。
- 需要重写
- 绘制相关代码逻辑(以绘制矩形为例):
#import "CustomView.h"
@implementation CustomView
- (void)drawRect:(CGRect)rect {
// 获取当前上下文
CGContextRef context = UIGraphicsGetCurrentContext();
// 设置矩形的位置和大小
CGRect rectangle = CGRectMake(50, 50, 200, 100);
// 设置绘制颜色(这里以红色为例)
[[UIColor redColor] set];
// 绘制矩形路径
CGContextAddRect(context, rectangle);
// 填充矩形
CGContextFillPath(context);
}
@end
在上述代码中:
- 首先通过
UIGraphicsGetCurrentContext()
获取当前的图形上下文,这是进行绘制操作的基础。 - 然后定义了一个矩形的
CGRect
结构体,指定了矩形在视图中的位置和大小。 - 接着使用
[UIColor redColor]
获取红色,并调用set
方法设置当前绘制颜色为红色。 - 再通过
CGContextAddRect
函数将矩形路径添加到当前上下文中。 - 最后调用
CGContextFillPath
函数对矩形路径进行填充,从而完成矩形的绘制。