2017-04-22 7 views
0

UIScrollView内のどこに応じてユーザーがスクロールするときに背景色とテキストを変更する必要があるUIButtonがあります。UIButtonがスクロール時にcornerRadiusを失う(他のプロパティが設定されている場合)

彼らがしきい値を打つとき、私は次の関数を呼び出す:

fileprivate func setFinalizeButton(format: FinalizeButtonFormat) { 
    switch format { 
    case ._continue: 
     let grey = UIColor(red: 189, green: 189, blue: 189) 
     finalizeButton?.setTitle("Continue", for: .normal) 

     finalizeButton?.setBackgroundColor(color: grey, forState: .normal) 
     finalizeButton?.setBackgroundColor(color: grey.darkerColor(percent: 0.2), forState: .highlighted) 
    case .buyNow: 
     finalizeButton?.setTitle("Buy Now", for: .normal) 
     finalizeButton?.setBackgroundColor(color: .black, forState: .normal) 
     finalizeButton?.setBackgroundColor(color: .black, forState: .highlighted) 
    } 
} 

を私はfinalizeButton?.cornerRadiusfinalizeButton?.layer.cornerRadiusとどちらも仕事の両方を設定しようとしました。どちらもcornerRadiusは0に戻ります(このボタンはcornerRadiusの値が5に初期化されています)

これはどうやって修正するのですか?

ありがとうございます!編集

:ボタンの設定

let finalizeButton = UIButton() 
    finalizeButton.cornerRadius = 5 
    finalizeButton.setTitleColor(.white, for: .normal) 
    finalizeButton.setTitleColor(UIColor.white.darkerColor(percent: 0.2), for: .highlighted) 
    finalizeButton.backgroundColor = .black 
    finalizeButton.addTarget(self, action: #selector(finalize(_:)), for: .touchUpInside) 
    finalizeButton.setTitle("Buy Now", for: .normal) 
    finalizeButton.titleLabel?.font = UIFont.systemFont(ofSize: 22, weight: UIFontWeightRegular) 
    bottomSection.addSubview(finalizeButton) 

    constrain(finalizeButton) { 
     $0.width == $0.superview!.width * CGFloat(0.8) 
     $0.height == CGFloat(54) 
     $0.bottom == $0.superview!.bottom - CGFloat(16) 
     $0.centerX == $0.superview!.centerX 
    } 
    self.finalizeButton = finalizeButton 
+0

コードによって他の原因が考えられる可能性がありますか? _think_が関係するものだけではなく、このボタンを操作するために何をしているのかを示してください。 – matt

+0

それだけです。私もボタンの設定を追加します –

+0

@matt更新コード –

答えて

1

はあなたがセットアップ finalizeButton.clipsToBounds =真のあなたのボタンは?:これが動作するかどうか、私に教えてくださいどこにこれを呼び出して試してみました。

+0

それをしました。ありがとう! –

関連する問題