【发布时间】:2017-07-21 21:38:00
【问题描述】:
是否可以在已经显示为子视图的 UIView 中有子视图?
在我的主视图控制器中,我有一个 UIView,它在点击的标记调用上显示为子视图。我想将进一步的子视图放入该呈现的子视图中。有可能吗?这是怎么做到的?
【问题讨论】:
-
您的意思是要将子视图插入到地图图钉标注视图中?一张图讲一千个字。
标签: ios uiview uiviewcontroller swift3 subview
是否可以在已经显示为子视图的 UIView 中有子视图?
在我的主视图控制器中,我有一个 UIView,它在点击的标记调用上显示为子视图。我想将进一步的子视图放入该呈现的子视图中。有可能吗?这是怎么做到的?
【问题讨论】:
标签: ios uiview uiviewcontroller swift3 subview
任何UIView 类都可以有子视图。子视图不是一种对象。类型还是UIView。
这是怎么做到的?
与任何其他UIView 对象完全相同。只需添加子视图。一视同仁:
let mainView = self.view
let subview = mainView.viewWithTag(42)
let newSubview = UIView(frame: CGRect(x: 0, y: 0, width: 10, height: 10))
subview?.addSubview(newSubview)
【讨论】:
是的,子视图可以嵌套。一个示例游乐场:
import UIKit
import PlaygroundSupport
let view_1 = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
view_1.backgroundColor = UIColor.blue
let view_2 = UIView(frame: CGRect(x: 10, y: 10, width: 100, height: 100))
view_2.backgroundColor = UIColor.red
view_1.addSubview(view_2)
let view_3 = UIView(frame: CGRect(x: 10, y: 10, width: 50, height: 50))
view_3.backgroundColor = UIColor.green
view_2.addSubview(view_3)
PlaygroundPage.current.liveView = view_1
【讨论】: