Adds taptic feedback when adjusting controller skin opacity
This commit is contained in:
parent
2381625cd3
commit
89da120b46
@ -169,6 +169,7 @@
|
|||||||
<slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="0.5" minValue="0.0" maxValue="1" translatesAutoresizingMaskIntoConstraints="NO" id="whi-If-wFf">
|
<slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="0.5" minValue="0.0" maxValue="1" translatesAutoresizingMaskIntoConstraints="NO" id="whi-If-wFf">
|
||||||
<rect key="frame" x="74" y="7" width="288" height="31"/>
|
<rect key="frame" x="74" y="7" width="288" height="31"/>
|
||||||
<connections>
|
<connections>
|
||||||
|
<action selector="beginChangingControllerOpacityWith:" destination="eHi-aO-uGS" eventType="touchDown" id="NG9-FX-62d"/>
|
||||||
<action selector="changeControllerOpacityWith:" destination="eHi-aO-uGS" eventType="valueChanged" id="Zci-tN-4uU"/>
|
<action selector="changeControllerOpacityWith:" destination="eHi-aO-uGS" eventType="valueChanged" id="Zci-tN-4uU"/>
|
||||||
<action selector="didFinishChangingControllerOpacityWith:" destination="eHi-aO-uGS" eventType="touchUpInside" id="T9j-dn-oV6"/>
|
<action selector="didFinishChangingControllerOpacityWith:" destination="eHi-aO-uGS" eventType="touchUpInside" id="T9j-dn-oV6"/>
|
||||||
<action selector="didFinishChangingControllerOpacityWith:" destination="eHi-aO-uGS" eventType="touchCancel" id="YDh-63-VML"/>
|
<action selector="didFinishChangingControllerOpacityWith:" destination="eHi-aO-uGS" eventType="touchCancel" id="YDh-63-VML"/>
|
||||||
|
|||||||
@ -30,6 +30,8 @@ class SettingsViewController: UITableViewController
|
|||||||
@IBOutlet fileprivate var controllerOpacityLabel: UILabel!
|
@IBOutlet fileprivate var controllerOpacityLabel: UILabel!
|
||||||
@IBOutlet fileprivate var controllerOpacitySlider: UISlider!
|
@IBOutlet fileprivate var controllerOpacitySlider: UISlider!
|
||||||
|
|
||||||
|
fileprivate var selectionFeedbackGenerator: UISelectionFeedbackGenerator?
|
||||||
|
|
||||||
required init?(coder aDecoder: NSCoder)
|
required init?(coder aDecoder: NSCoder)
|
||||||
{
|
{
|
||||||
super.init(coder: aDecoder)
|
super.init(coder: aDecoder)
|
||||||
@ -112,9 +114,21 @@ private extension SettingsViewController
|
|||||||
|
|
||||||
private extension SettingsViewController
|
private extension SettingsViewController
|
||||||
{
|
{
|
||||||
|
@IBAction func beginChangingControllerOpacity(with sender: UISlider)
|
||||||
|
{
|
||||||
|
self.selectionFeedbackGenerator = UISelectionFeedbackGenerator()
|
||||||
|
self.selectionFeedbackGenerator?.prepare()
|
||||||
|
}
|
||||||
|
|
||||||
@IBAction func changeControllerOpacity(with sender: UISlider)
|
@IBAction func changeControllerOpacity(with sender: UISlider)
|
||||||
{
|
{
|
||||||
let roundedValue = (sender.value / 0.05).rounded() * 0.05
|
let roundedValue = CGFloat((sender.value / 0.05).rounded() * 0.05)
|
||||||
|
|
||||||
|
if roundedValue != Settings.translucentControllerSkinOpacity
|
||||||
|
{
|
||||||
|
self.selectionFeedbackGenerator?.selectionChanged()
|
||||||
|
}
|
||||||
|
|
||||||
Settings.translucentControllerSkinOpacity = CGFloat(roundedValue)
|
Settings.translucentControllerSkinOpacity = CGFloat(roundedValue)
|
||||||
|
|
||||||
self.updateControllerOpacityLabel()
|
self.updateControllerOpacityLabel()
|
||||||
@ -123,6 +137,7 @@ private extension SettingsViewController
|
|||||||
@IBAction func didFinishChangingControllerOpacity(with sender: UISlider)
|
@IBAction func didFinishChangingControllerOpacity(with sender: UISlider)
|
||||||
{
|
{
|
||||||
sender.value = Float(Settings.translucentControllerSkinOpacity)
|
sender.value = Float(Settings.translucentControllerSkinOpacity)
|
||||||
|
self.selectionFeedbackGenerator = nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user