Slide 1

Slide 1 text

Force Touch The New Dimension

Slide 2

Slide 2 text

cockscomb

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Force Touch The New Dimension

Slide 5

Slide 5 text

Force Touch Trackpad

Slide 6

Slide 6 text

Force Touch APIs

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

NSButton • func setButtonType(_ aType: NSButtonType) • NSAcceleratorButton • NSMultiLevelAcceleratorButton

Slide 9

Slide 9 text

NSAcceleratorButton @IBOutlet weak var acceleratorButton: NSButton! { didSet { acceleratorButton.continuous = true acceleratorButton .setPeriodicDelay(0.1, interval: 0.1) } } @IBAction func accelerate(sender: AnyObject) { if let button = sender as? NSButton { print(button.doubleValue) } }

Slide 10

Slide 10 text

NSMultiLevelAcceleratorButton @IBOutlet weak var multiLevelAcceratorButton: NSButton! { didSet { if #available(OSX 10.10.3, *) { multiLevelAcceratorButton .maxAcceleratorLevel = 5 } } } @IBAction func multiLevelAccelerate(sender: AnyObject) { if let button = sender as? NSButton { print(button.integerValue) } }

Slide 11

Slide 11 text

NSButton • NSAcceleratorButton • doubleValue • 0.0, 1.0..<2.0 • NSMultiLevelAcceleratorButton • integerValue • 0, 1, 2..

Slide 12

Slide 12 text

NSEvent • NSView • NSGestureRecognizer • NSWindow

Slide 13

Slide 13 text

NSEventTypePressure class PressureView: NSView { override func pressureChangeWithEvent(event: NSEvent) { Swift.print("Pressure : \(event.pressure)") if #available(OSX 10.10.3, *) { Swift.print("Stage : \(event.stage)") Swift.print(“State Transition : \(event.stageTransition)") } } }

Slide 14

Slide 14 text

NSEvent • NSEventTypePressure • var pressure: Float { get } • Pressure value • var stage: Int { get } • Pressed stage • var stageTransition: CGFloat { get } • For transition animation

Slide 15

Slide 15 text

El Capitan • NSAlignmentFeedbackFilter • Sample Code: AlignmentGuides • NSHapticFeedbackManager • enum NSHapticFeedbackPattern • Generic/Alignment/LevelChange • And more…

Slide 16

Slide 16 text

Force Touch • A new dimension of the UI • APIs are available (improved with El Capitan) • Will be introduced into iOS 9?