我使用以下代码为视图创建了CAShapeLayer
边框:
func addBorderToWebView() {
borderShape = CAShapeLayer()
borderShape.path = UIBezierPath(rect: webView.frame).cgPath
borderShape.lineWidth = CGFloat(2)
borderShape.bounds = borderShape.path!.boundingBox
borderShape.strokeColor = UIColor(red: 68/255, green: 219/255, blue: 94/255, alpha: 1.0).cgColor
borderShape.position = CGPoint(x: borderShape.bounds.width/2, y: borderShape.bounds.height/2)
webView.layer.addSublayer(borderShape)
}
我的右下边框线在框架外,你可以在下面的图片上看到它。但是,如果我定义borderWidth
的{{1}}属性,则所有内容都显示正常。这就是我得出结论的原因,问题不在于布局约束。我应该如何配置webView.layer
(或UIBezierPath
)以正确显示边框?谢谢你的帮助!
答案 0 :(得分:1)
尝试替换此
$target = $this->getTargetFile($directory, $name);
if (!@move_uploaded_file($this->getPathname(), $target)) {
$error = error_get_last();
throw new FileException(sprintf('Could not move file "%s" to "%s" (%S)', $this->getPathname(), $target, strip_tags($error['message'])));
}
@chmod($target, 0666 & ~umask());
用这个:
borderShape.path = UIBezierPath(rect: webView.frame).cgPath
问题的另一个可能原因是borderShape.path = UIBezierPath(rect: webView.bounds).cgPath
的框架在您设置为webView
时尚未更新。您可以在添加边框形状之前尝试borderShape
。如果它无法覆盖以下方法:
self.view.updateLayoutIfNeeded()
这将确保每次更新帧时,边框形状也会更新。