Adds taptic feedback when adjusting controller skin opacity

This commit is contained in:
Riley Testut 2016-11-28 01:31:12 -06:00
parent 2381625cd3
commit 89da120b46
2 changed files with 17 additions and 1 deletions

View File

@ -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">
<rect key="frame" x="74" y="7" width="288" height="31"/>
<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="didFinishChangingControllerOpacityWith:" destination="eHi-aO-uGS" eventType="touchUpInside" id="T9j-dn-oV6"/>
<action selector="didFinishChangingControllerOpacityWith:" destination="eHi-aO-uGS" eventType="touchCancel" id="YDh-63-VML"/>

View File

@ -30,6 +30,8 @@ class SettingsViewController: UITableViewController
@IBOutlet fileprivate var controllerOpacityLabel: UILabel!
@IBOutlet fileprivate var controllerOpacitySlider: UISlider!
fileprivate var selectionFeedbackGenerator: UISelectionFeedbackGenerator?
required init?(coder aDecoder: NSCoder)
{
super.init(coder: aDecoder)
@ -112,9 +114,21 @@ private extension SettingsViewController
private extension SettingsViewController
{
@IBAction func beginChangingControllerOpacity(with sender: UISlider)
{
self.selectionFeedbackGenerator = UISelectionFeedbackGenerator()
self.selectionFeedbackGenerator?.prepare()
}
@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)
self.updateControllerOpacityLabel()
@ -123,6 +137,7 @@ private extension SettingsViewController
@IBAction func didFinishChangingControllerOpacity(with sender: UISlider)
{
sender.value = Float(Settings.translucentControllerSkinOpacity)
self.selectionFeedbackGenerator = nil
}
}