28、iOS开发:自定义视图绘制全解析

iOS开发:自定义视图绘制全解析

在iOS开发的旅程中,我们已经积累了不少将现有视图对象添加到应用中的经验。然而,我们一直局限于苹果提供的视图类。现在,是时候创建我们自己的视图对象了,它能绘制出独一无二的内容。

1. 创建自定义视图类

要创建自定义视图,可以通过继承 UIView UIControl 来实现。这取决于你是想创建一个显示对象,还是类似开关这样的控件。在本文中,我们主要讨论继承 UIView 的情况。

需要注意的是,不要尝试继承具体的视图类,如 UIButton UISwitch ,去修改它们的功能。因为它们的内部工作机制是不公开的,并且可能会随着iOS版本的更新而改变,这可能导致你的类在未来无法正常工作。像 UIControl 这样设计为可继承的视图类,通常会在文档中有“Subclassing Notes”部分进行说明。

要创建自己的视图类,需要理解以下三个关键方面:
- 视图坐标系
- 用户界面更新事件
- 如何在Core Graphics上下文中进行绘制

2. 视图坐标系

设备的屏幕、窗口和视图都有各自的图形坐标系。这个坐标系确定了我们在设备上看到的所有内容的位置和大小,包括屏幕、窗口、视图、图像和形状。每个视图对象都有自己的坐标系,其原点位于左上角,坐标为(0, 0)。

X坐标向右递增,Y坐标向下递增。这与我们在学校学到的笛卡尔坐标系的Y轴方向相反,但对于计算机程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值