你可以在子视图中有一个子视图吗? swift 3
问题描述:
是否有可能在已经显示为子视图的UIView中有子视图?你可以在子视图中有一个子视图吗? swift 3
在我的主视图控制器中,我有一个UIView,它显示为点击标记调用的子视图。我想把一个子视图放到子视图中。这是可能的吗?这是如何完成的?
答
任何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)
+0
这是如此有用,只需更改一个词!我在我的主视图控制器中有'self.view.addSubview',但正如你所指出的,我应该有'self.subview.addSubview ...'。它现在非常有意义! –
答
是的,子视图可以嵌套。示例游乐场:
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
你的意思是你想插入子视图到地图引脚标注视图?一张图片讲述了千言万语。 – Zhang