Slide 1

Slide 1 text

SwiftѪ޷ձ߹॓ in ࡫઒ 2016೥12݄4೔ Swiftϓϩάϥϛϯάษڧձ 2016/11/10 1

Slide 2

Slide 2 text

UIτϨʔεձͱ͍͏ษڧձΛͯ͠·͢ https://ios-app-developers.connpass.com/event/44867/ Swiftϓϩάϥϛϯάษڧձ 2016/11/10 2

Slide 3

Slide 3 text

͍͍ΞϓϦͷUIΛਅࣅͯ͠ɺΈΜͳͷ UI։ൃٕज़ΛΞοϓͤ͞Δษڧձ Swiftϓϩάϥϛϯάษڧձ 2016/11/10 3

Slide 4

Slide 4 text

11݄-12݄ͷ͓୊ GohobeeΞϓϦͷ͝๙ඒը໘Λਅࣅ͢Δ Swiftϓϩάϥϛϯάษڧձ 2016/11/10 4

Slide 5

Slide 5 text

Gohobeeͷ͝๙ඒը໘ Swiftϓϩάϥϛϯάษڧձ 2016/11/10 5

Slide 6

Slide 6 text

• ͦΕͧΕҟͳΔηϧϨΠΞ΢τ • γʔϜϨεʹ࣍ͷը૾͕ભҠ • ભҠޙը૾͕͘Δ͘ΔΞχϝʔγϣϯ • ύϥϥοΫεεΫϩʔϧ Swiftϓϩάϥϛϯάษڧձ 2016/11/10 6

Slide 7

Slide 7 text

ͱͬͯ΋ڽ͍ͬͯΔ (´ʀωʀʆ) Swiftϓϩάϥϛϯάษڧձ 2016/11/10 7

Slide 8

Slide 8 text

ͲΜͳ࢓ࣄͰ΋ɺे෼ʹখ͘͞෼ׂ͢ Ε͹ඞͣย͚ͮΔ͜ͱ͕Ͱ͖Δɻ ϔϯϦʔɾϑΥʔυ Swiftϓϩάϥϛϯάษڧձ 2016/11/10 8

Slide 9

Slide 9 text

γʔϜϨεʹ࣍ͷը૾͕ભҠ ͚ͩ͜͜ؤுΔʂ Swiftϓϩάϥϛϯάษڧձ 2016/11/10 9

Slide 10

Slide 10 text

࡞ͬͨ https://github.com/SatoTakeshiX/SwiftSharedViewTransition Swiftϓϩάϥϛϯάษڧձ 2016/11/10 10

Slide 11

Slide 11 text

͜Μͳײ͡ Swiftϓϩάϥϛϯάษڧձ 2016/11/10 11

Slide 12

Slide 12 text

࢓૊Έ 1. UIViewControllerAnimatedTransitioningΛదԠͨ͠ΫϥεΛ ࡞Δɻ͜ͷΫϥεͰΞχϝʔγϣϯΛࢦఆ͢Δ 2. UINavigationControllerͷαϒΫϥεΛ࡞ͬͯɺ UINavigationControllerDelegateʹదԠͤ͞Δɻ *navigationController(_:animationControllerFor:from:to:)ϝ ιουΛ࣮૷ɻ1ͷΠϯελϯεΛฦ͢ Swiftϓϩάϥϛϯάษڧձ 2016/11/10 12

Slide 13

Slide 13 text

؆୯ʁ Swiftϓϩάϥϛϯάษڧձ 2016/11/10 13

Slide 14

Slide 14 text

UIViewControllerAnimatedTransitioningͷඞਢϝιου • transitionDuration(using:) • Ξχϝʔγϣϯ࣌ؒΛࢦఆ • animateTransition(using:) • Ξχϝʔγϣϯํ๏Λࢦఆ Swiftϓϩάϥϛϯάษڧձ 2016/11/10 14

Slide 15

Slide 15 text

ϋϚϦϙΠϯτ • frameࢦఆ͸UIViewͷίϯόʔτΛ࢖͏ɻ func createImageView() -> UIImageView? { guard let detailImageView = self.imageView else { return nil } let imageView = UIImageView(image: self.image) imageView.contentMode = .scaleAspectFill imageView.frame = detailImageView.convert(detailImageView.frame, to: self.view) //imageView.frame = detailImageView.frame <-͜Ε͸ͩΊɻ return imageView } Swiftϓϩάϥϛϯάษڧձ 2016/11/10 15

Slide 16

Slide 16 text

• ը૾ੵΈॏͳΔ໰୊ Swiftϓϩάϥϛϯάษڧձ 2016/11/10 16

Slide 17

Slide 17 text

ίϯςφϏϡʔ͸ભҠ͢Δͨͼʹಉ͡ΠϯελϯεΛ͍࣋ͬͯ Δɻ ίϯςφϏϡʔͷaddSubViewͨ͠ΒޙͰফ͞ͳ͍ͱ͍͚ͳ͍ Swiftϓϩάϥϛϯάษڧձ 2016/11/10 17

Slide 18

Slide 18 text

࠷ॳʹίϯςφϏϡʔͷαϒϏϡʔʹରͯ͠ɺ removeFromSuperview()ͯ͠ରԠͨ͠ //pop࣌ͷΞχϝʔγϣϯ fileprivate func backwardTransition(_ transitionContext: UIViewControllerContextTransitioning) { // PushͱٯͷΞχϝʔγϣϯ guard let fromeVC = transitionContext.viewController(forKey: UITransitionContextViewControllerKey.from) else { return } guard let toVC = transitionContext.viewController(forKey: UITransitionContextViewControllerKey.to) else { return } let containerView = transitionContext.containerView //લճભҠ͍ͨ͠͞ͷImageView͕࢒͍ͬͯΔͷͰҰ౓શͯΛ֎͢ containerView.subviews.forEach { view in view.removeFromSuperview() } Swiftϓϩάϥϛϯάษڧձ 2016/11/10 18

Slide 19

Slide 19 text

·ͩ࢒ͬͯΔ໰୊ɻ ໭Δͱ͖ʹίϨΫγϣϯϏϡʔͷηϧʹ্ख͘ೖΒͳ͍ɻ ΧΫͬͯͳΔ ->12/8ͷUIτϨʔεձ·ͰʹؤுΔʂ௚͢ʂ Swiftϓϩάϥϛϯάษڧձ 2016/11/10 19

Slide 20

Slide 20 text

ιʔε https://github.com/SatoTakeshiX/SwiftSharedViewTransition Swiftϓϩάϥϛϯάษڧձ 2016/11/10 20