SwiftとiOS開発では非常に新しい。 UIButtonをカスタマイズする正しい方法は何ですか?ハイライトの不透明度とアニメーションを備えた円形UIButton
私は単なる円であるUIボタンを作りたいと思っていますが、私はシステムボタンと同じ動作をしたいと思います:ハイライトされるとフェードし、フェーディングはアニメーション化されます。
理想的には、画像なしでこれを行い、UIBezierPathを使用すると、異なるサイズの枠線の幅を一定に保つことができます。
SwiftとiOS開発では非常に新しい。 UIButtonをカスタマイズする正しい方法は何ですか?ハイライトの不透明度とアニメーションを備えた円形UIButton
私は単なる円であるUIボタンを作りたいと思っていますが、私はシステムボタンと同じ動作をしたいと思います:ハイライトされるとフェードし、フェーディングはアニメーション化されます。
理想的には、画像なしでこれを行い、UIBezierPathを使用すると、異なるサイズの枠線の幅を一定に保つことができます。
円形のボタンを作成するには、corner radiusプロパティを使用します。ボタンのフレーム/境界が四角形である限り、cornerRadiusを幅の半分に設定すると、円として表示されます。あなたは、任意のフレーム指定したサークルを作るために
myButton.layer.cornerRadius = 8.0
:角の半径を設定するには
import QuartzCore
コーナー半径
:まず、あなたはQuartzCoreフレームワークをインポートする必要があります以下を使用できます。
myButton.layer.cornerRadius = myButton.frame.size.width/2.0
表示されるように、コーナー半径の変化のためのclipsToBoundsプロパティを設定する必要がある場合があります
myButton.clipsToBounds = true
ボーダー
また、あなたの境界線を設定するレイヤーのプロパティを使用することができます。
myButton.layer.borderWidth = 1.0
myButton.layer.borderColor = UIColor.purpleColor()
( Objective-Cの例については、this postを参照してください。
強調表示されているときに色合いを反映させる方法はありますか?また、システムアニメーションを使用してアニメーションを作成しますか? – Jacob
システムのアニメーションを維持できるかどうかわかりません - それは残っていると思いますがわかりません:) 境界線を変更してタッチしてアニメーションするには、 '.TouchDown'と '.TouchUpInside | .TouchUpOutside'。たとえば、次のようになります。 'myButton.addTarget(self、action:" changeHighlightAndAnimate "、forControlEvents:.TouchDown)'。その後、 'changeHighlightAndAnimate'関数で境界線の色を変更し、フェードをアニメートします。 – Carter