我在视图控制器中有一个自定义视图。我正在尝试从视图控制器
设置自定义视图的CGRect我在自定义视图中有更多按钮,我想根据帧的坐标定位它们,但是在ovveride draw方法中,它需要视图边界。
我希望使用框架坐标而不是边界
绘制所有视图请建议如何实现
答案 0 :(得分:0)
以编程方式实例化视图时,应执行以下操作:
1)定义包含视图的矩形的大小。
2)在父视图的笛卡儿系统(x,y)中找到此矩形的原点(设置为左上角)根据t 他的宽度和父视图的高度来查看您正在创建的视图。
3)将视图框设置为myView.frame = CGRect(origin: myOrigin, size: mySize)
你应该总是使用'框架'用于定义新视图的属性。
我通常使用自定义视图,其中包含许多其他自定义视图,自定义按钮,...这样做的最佳方法(特别是当它变得复杂时),就是拿纸和纸张。和铅笔,绘制父视图的(x,y)轴( y 向下指向, x 指向右侧)并找到所有原点的所有坐标您正在工作的视图的宽度和高度。
当您使用UIView(或任何其他对象)的子类时,您可以轻松使用正在创建的视图原点中定义的坐标系 (在draw method
)
希望这有用,如果您需要更具体的帮助,可以发布代码!