iOS 6自动布局非常方便.但是,自动生成的帧可能具有非整数值.如何使用自动布局强制整数输出为最终帧位置和大小?
AutoLayout比您想象的要聪明.
虽然自动生成的帧确实具有小数值,但它们会被舍入以匹配设备的像素比率.在具有Retina显示器(2x)的设备上,允许0.5的分数.在较旧的设备上,似乎根本没有任何小数值.
这意味着您将始终获得像素完美的布局.
我花了很长时间来弄明白这一点.:)
我无法回答你的问题,除非你接受“否”作为答案。
\n\n我在使用手动布局而不是自动布局时遇到了类似的问题。我的解决方案可能对某人有用。
\n\n此代码将坐标舍入到屏幕比例。换句话说,在标准显示上为整数,在 Retina 上显示为一半 (0.5; 1; 1.5; \xe2\x80\xa6)。
\n\nCGFloat roundToScreen(CGFloat value) {\n CGFloat scale = [[UIScreen mainScreen] scale];\n CGFloat result = round(value * scale) / scale;\n // example value: 3.61\n // on standard display: 4\n // on Retina display: 3.5\n return result;\n}\nRun Code Online (Sandbox Code Playgroud)\n\n以下是CGRect,CGPoint和的一些辅助函数CGSize:GitHub 上的 Gist
| 归档时间: |
|
| 查看次数: |
2189 次 |
| 最近记录: |