2017-03-16 11 views
0

나는이 같은 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.

는 업데이트 :. 내가 진짜 아이폰 기가 플러스에 시도 할 수있었습니다 그래서 확실히 시뮬레이터 그래픽 문제를 예상대로 작동

답변

0

난 진짜 아이폰 기가 플러스에 시도 할 수있었습니다 및 협력 예상대로 시뮬레이터 그래픽 문제입니다.