iphone - 设置 View 的边界会改变框架的坐标,为什么?

标签 iphone ios cocoa-touch uikit

为什么设置 UIView 的 bounds 属性会弄乱它的框架坐标?
例如:

self.view.frame = CGRectMake(10, 10, 200, 200);

CGRect b = CGRectMake(0, 0, 399, 323);

self.view.bounds = b;

我希望 View 的框架为 (10, 10, 399, 323),但坐标会得到一些奇怪的值,例如 (-89.5 -51.5; 399 323)。

谢谢!

最佳答案

从 UIView 类引用:

Changing the bounds size grows or shrinks the view relative to its center point.



所以它保持中心点在同一个地方,这意味着框架的原点必须调整。

如果要调整 View 大小但将原点保持在同一位置,请设置框架而不是边界。

关于iphone - 设置 View 的边界会改变框架的坐标,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9071185/

相关文章:

ios - Swift 3 - 我的 UIViewController 在横向模式下的背景图像问题

ios - 如果应用程序进入后台模式,则会触发 Ondisconnect

ios - UIButton 单击事件在自定义 UITableViewCell 内多次调用

iphone - 添加到 subview 时,UIView 神秘地扩展了 1 个像素

objective-c - 拥有自身的对象的 Objective C 命名约定

ios - iPhone XS 最大 | swift 4.2 |应用程序崩溃 libsystem_kernel.dylib abort_with_payload_wrapper_internal + 104

iphone - Xcode 有时会忘记资源

iphone - 在设备中测试时 SLComposeViewController 崩溃

ios - 设置选项 View 属性的属性时出现 EXC_BAD_ACCESS

ios - 是否可以通过 Aspect Fit 调整大小在 Core Graphics 中显示图像?