我试图添加一个阴影到一个子视图,它被呈现(添加)到我的ViewController。在过去,我总是像这样添加阴影到视图:
slideVC.view.layer.shadowColor = UIColor(named: "Dark Background")!.cgColor
slideVC.view.layer.shadowOffset = CGSize(width: 3, height: 3)
slideVC.view.layer.shadowOpacity = 0.7
slideVC.view.layer.shadowRadius = 4.0
然而,这在子视图上不起作用。视图有圆角,但无论我做什么,角都是圆的,阴影不会被添加。我已经尝试过clipsToBounds和MaskToBounds,没有成功。孩子可以拖动,这就是为什么我不能在下面的ViewController上添加假阴影的原因。关于如何实现这一点,有什么想法吗?这是我如何添加我的孩子:
let slideVC = StartVC(customer: myCustomer)
slideVC.view.roundCorners([.topLeft, .topRight], radius:
roundedCornersRadius.bottomSlideVC.rawValue)
slideVC.view.layer.zPosition = 15
slideVC.view.layer.shadowColor = UIColor(named: "Dark Background")!.cgColor
slideVC.view.layer.shadowOffset = CGSize(width: 3, height: 3)
slideVC.view.layer.shadowOpacity = 0.7
slideVC.view.layer.shadowRadius = 4.0
slideVC.endDelegate = self
slideVC.shouldResizeDelegate = self
slideVC.didRemoveChildDelegate = self
add(slideVC)
let height = view.frame.height + 50
let width = view.frame.width
slideVC.view.frame = CGRectMake(0, self.view.frame.maxY, width, height)
Add是UIViewcontroller上的一个扩展,我用它来添加子控制器:
func add(_ child: UIViewController) {
addChild(child)
view.addSubview(child.view)
child.didMove(toParent: self)
}
1条答案
按热度按时间klsxnrf11#
你遗漏了很多关于你的代码在做什么的信息,所以很坚韧你可能做错了什么。
这里有一个从子视图控制器加载视图的快速示例,将其四角变圆并给它一个阴影。。
首先,一个“添加孩子”扩展:
接下来,一个简单的“StartVC”视图控制器,带有一个居中的标签(用于客户字符串),沿着一个平移手势以允许拖动它:
然后,一个视图控制器的例子......我们在“StartVC view”下面添加一个大字体标签-然后它加载子VC,获取其视图,圆角并设置阴影属性,并将其添加到视图的中心,然后可以拖动它:
看起来像这样: