UIScrollView
在 WWDC2010 Session 104 之后,我刚刚在10000 x 8078 px 图像中创建了一个 CATiledLayer 。
我对框架和zoomScale
视图首次显示在其顶层感到困扰
- 就像在会话 104 中我定义
levelsOfDetail
为 4 - 在我的 drawRect 我打电话
CGFloat lScale = CGContextGetCTM(lContext).a;
奇怪的是,在运行时 lScale 被分配了 0.124907158,而不是预期的 0.125。
以及rect
传递给drawRect
具有浮点值,例如
- rect.origin.x = 4099.04443
- rect.origin.y = 6144
- rect.size.width = 2049.52222
- rect.size.height = 2048
CATiledLayer
对我来说最烦人的是,即使我initWithFrame
使用 0x0 原点创建了 tiledImageView ,框架的原点也显示为 0 x 26.93。
有什么想法可以找到对此负责的计算吗?
编辑: 我找到了奇怪框架位置的来源,即 ScrollView 边界被错误地设置为 450 像素。那应该是 420 像素。UIScrollView 中的 layoutSubview 例程有一个中心视图例程,它无意中调整了 y 坐标。