首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当我改变界限时,为什么不看变化?

当我改变界限时,为什么不看变化?
EN

Stack Overflow用户
提问于 2017-08-01 23:30:29
回答 2查看 28关注 0票数 0

如果我改变了UIView的界限。

代码语言:javascript
运行
复制
v2.bounds = CGRect(0, 0, 70, 70)

为了..。

代码语言:javascript
运行
复制
v2.bounds = CGRect(-2000, 0, 70, 70)

..。什么都没有发生--在渲染时,维度保持不变。为什么会这样呢?

EN

Stack Overflow用户

回答已采纳

发布于 2017-08-02 00:17:41

要帮助理解界限的作用,请在视图控制器的viewDidLoad方法中运行以下示例代码:

代码语言:javascript
运行
复制
let newView = UIView(frame: CGRect(x: 50, y: 100, width: 30, height: 30))
newView.backgroundColor = UIColor.blue

let secondView = UIView(frame: CGRect(x: 0, y: 0, width: 20, height: 20))
secondView.backgroundColor = UIColor.red

newView.addSubview(secondView)


view.addSubview(newView)

DispatchQueue.main.asyncAfter(deadline: .now() + 1) {

    newView.bounds = CGRect(x: 10, y: 0, width: 30, height: 30)
}

在这里,我们向右移动10点,所以你会看到“第二个视图”(红色)向左移动10分。

改变边界的原点会改变视图的坐标系,这会影响视图所有子视图的位置。然而,相对于它的超级观,它并不影响它的起源。为此,您应该更改框架的原点。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45449149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档