나는이 같은 UIVisualEffectView의 두 상단 모서리 둥글게하기 위해 노력하고있어 작동하지 마스크 : 내 아이폰에 그것을하려고하면UIVisualEffectView 아이폰 7 플러스에 시뮬레이터
if let tabBarHeight = self.tabBarController?.tabBar.frame.height {
mainViewHeight = self.view.frame.height - tabBarHeight
}
let oneAndHalfMainViewHeight = mainViewHeight * 1.5
midStateHeight = mainViewHeight/2 - midStateConstant
let blur = UIBlurEffect(style: .dark)
slideView = UIVisualEffectView(effect: blur)
slideView.translatesAutoresizingMaskIntoConstraints = false
slideView.contentView.backgroundColor = Tools.colorPicker(2, alpha: 1)
self.view.addSubview(slideView)
let slideViewHorizontalConstraints = NSLayoutConstraint.constraints(withVisualFormat: "H:|[slideView(\(UIScreen.main.bounds.width))]|", options: NSLayoutFormatOptions(), metrics: nil, views: ["slideView" : slideView])
slideViewHeightConstraint = NSLayoutConstraint(item: slideView, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: oneAndHalfMainViewHeight)
slideViewTopConstraint = NSLayoutConstraint(item: self.view, attribute: .bottom, relatedBy: .equal, toItem: slideView, attribute: .top, multiplier: 1, constant: alwaysVisibleHeight)
self.view.addConstraints(slideViewHorizontalConstraints)
guard let slideViewHeightConstraint = slideViewHeightConstraint, let slideViewTopConstraint = slideViewTopConstraint else {
return
}
self.view.addConstraint(slideViewHeightConstraint)
self.view.addConstraint(slideViewTopConstraint)
mainViewHeight = self.view.frame.height
midStateHeight = mainViewHeight/2 - midStateConstant
slideViewHeightConstraint.constant = oneAndHalfMainViewHeight
let maskLayer = CAShapeLayer()
let roundedRect = CGRect(x: 0, y: 0, width: view.bounds.width, height: oneAndHalfMainViewHeight)
maskLayer.frame = roundedRect
maskLayer.path = UIBezierPath(roundedRect: roundedRect, byRoundingCorners: [.topLeft, .topRight], cornerRadii: CGSize(width: 10, height: 10)).cgPath
let frame = CGRect(x: 0, y: 0, width: view.bounds.width, height: oneAndHalfMainViewHeight)
let maskView = UIView(frame: frame)
maskView.layer.addSublayer(maskLayer)
slideView.mask = maskView
7 그것은 예상대로지만 작동 시뮬레이터는 아이폰 7 플러스 시각 효과가 표시되지 않습니다 그리고 그것을 시도하기 위해 진짜 아이폰 7 플러스가 필요하지 않습니다. 시뮬레이터는 iPhone 5, SE, 6 및 7에 대한 효과를 보여줍니다. 따라서 주어진 크기의 코드에 문제가 있거나 시뮬레이터의 렌더링에 문제가 있는지 궁금합니다. 나는 2016 15 "맥북 프로 사용하고, 7 플러스는 거의 100 % 화면에 맞는 감사
참고 :.!이 엑스 코드의 최신 relase와 엑스 코드 베타에 무슨 일이 일어나고 4.
는 업데이트 :. 내가 진짜 아이폰 기가 플러스에 시도 할 수있었습니다 그래서 확실히 시뮬레이터 그래픽 문제를 예상대로 작동