我正在尝试添加一些子层到根视图层。想法是混合一个黄色和红色阴影的视图。
我试过这个:
class ViewController: UIViewController {
@IBOutlet weak var testView: UIView! {
didSet {
testView.backgroundColor = .white
testView.layer.cornerRadius = 10.0
}
}
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .black
testView.layer.shadowColor = UIColor.yellow.cgColor
testView.layer.shadowOpacity = 1.0
testView.layer.shadowRadius = 24.0
let layer1 = CALayer()
layer1.frame = testView.bounds
layer1.shadowColor = UIColor.red.cgColor
layer1.shadowOpacity = 1.0
layer1.shadowRadius = 24.0
testView.layer.addSublayer(layer1)
}
}
但只出现根层(黄色的),而不是红色的子层:
为什么会出现这种情况?谢谢你的帮助
两个问题...
TestView
可能不是ViewDidLoad()
中的最终大小...您应该在ViewDidLoad
之后添加层,或者子类UIView
并在LayoutSubViews
快速尝试一下:
class SubLayerShadowViewController: UIViewController {
let testView = UIView()
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .black
testView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(testView)
let g = view.safeAreaLayoutGuide
NSLayoutConstraint.activate([
testView.widthAnchor.constraint(equalToConstant: 240.0),
testView.heightAnchor.constraint(equalTo: testView.widthAnchor),
testView.centerXAnchor.constraint(equalTo: g.centerXAnchor),
testView.centerYAnchor.constraint(equalTo: g.centerYAnchor),
])
testView.backgroundColor = .white
testView.layer.cornerRadius = 10.0
testView.layer.shadowColor = UIColor.yellow.cgColor
testView.layer.shadowOpacity = 1.0
testView.layer.shadowRadius = 24.0
// move this out of viewDidLoad()
//let layer1 = CALayer()
//layer1.cornerRadius = 10.0
//layer1.frame = testView.bounds
//layer1.shadowColor = UIColor.red.cgColor
//layer1.shadowOpacity = 1.0
//layer1.shadowRadius = 24.0
//testView.layer.addSublayer(layer1)
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
let layer1 = CALayer()
layer1.cornerRadius = 10.0
layer1.frame = testView.bounds
layer1.shadowColor = UIColor.red.cgColor
layer1.shadowOpacity = 1.0
layer1.shadowRadius = 24.0
// set this layer's backgroundColor to the view's backgroundColor
layer1.backgroundColor = testView.backgroundColor?.cgColor
testView.layer.addSublayer(layer1)
}
}
我正在用C编写一个简单的二叉树程序,现在它只存储在根节点输入的最新值,例如,如果我在树中输入10,然后在树中输入9,那么9只是覆盖10作为根节点,所以树只存储值9。 我在网上查看了多个C二叉树解决方案,并尝试了它们的实现版本,但仍然没有成功。 这是树中单个节点的结构 到目前为止,我的二叉树课程 插入方法 然后在这样的菜单中调用这个方法 逻辑对我来说似乎都很好,除了我尝试不使用构造函数而只是单独设置
我正在做一个需要VBoxes的“列表”表示的项目。我的应用程序分层布局是gridpane->VBox(在其中一个单元格中)->VBox(在彼此之上显示不同的数据集)->data。我有两个场景。 我的场景1控制器(控制器)如下所示: 这样设计是因为dataBox包含比标签更多的元素,但在本文中,这似乎与我无关。 我的场景2控制器(addDataController)如下所示: 我没有发布主类,因为加
我正在使用Java-Eclipse和oracle SGBD public DefaultTableModel getJoueurData(){
问题内容: 好的,所以我做了一个小程序教程,并且我读到该方法是运行小程序所必需的。确实如此。至少在我的IDE(Eclipse)中。Applet Viewer在运行我的applet时没有问题,当我尝试用HTML 进行标记时,什么也不会显示,但是它的作用就好像有什么东西(标记更改了文本位置)。这是我的小程序: 这是我在网页上使用的代码: 即使删除width / height参数,我也会得到相同的结果(
本文向大家介绍html直接输入多个空格为什么只能显示一个空格?相关面试题,主要包含被问及html直接输入多个空格为什么只能显示一个空格?时的应答技巧和注意事项,需要的朋友参考一下 该行为由 CSS white-space 控制,其默认值 normal 的表现即为多个空格压缩成一个。