Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
黒魔術AutoLayoutとiPhone 6/6 Plus
Search
shoby
October 03, 2014
Technology
4.3k
13
Share
黒魔術AutoLayoutとiPhone 6/6 Plus
iOS 8 & iPhone6/6 Plus 開発知見共有会での発表資料です。
shoby
October 03, 2014
More Decks by shoby
See All by shoby
フリルのCMを支える分析 (メディアバイイング編)
shoby
0
490
FirebaseとBigQueryによるアプリのKPI分析(CMの効果検証編)
shoby
2
2.7k
ユーザーに受け入れられ、問題を起こしづらい大規模リニューアルの進め方
shoby
60
14k
ReactiveCocoaで作る快適な登録フォーム
shoby
0
370
フリルの商品を色で検索できるようにした話
shoby
5
4.3k
Search fashion items by colors
shoby
0
200
iOS 7をサポート対象外にして開発を健全化する
shoby
3
4.1k
Apple Watch Tips
shoby
0
4.2k
WWDC 2015で 発表された新機能と サービスへの活かし方
shoby
2
7.4k
Other Decks in Technology
See All in Technology
「活動」は激変する。「ベース」は変わらない ~ 4つの軸で捉える_AI時代ソフトウェア開発マネジメント
sentokun
0
140
GitHub Copilot CLI で Azure Portal to Bicep
tsubakimoto_s
0
300
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
AIエージェント時代に必要な オペレーションマネージャーのロールとは
kentarofujii
0
240
開発チームとQAエンジニアの新しい協業モデル -年末調整開発チームで実践する【QAリード施策】-
qa
0
580
CloudFrontのHost Header転送設定でパケットの中身はどう変わるのか?
nagisa53
1
230
【AWS】CloudTrail LakeとCloudWatch Logs Insightsの使い分け方針
tsurunosd
0
130
AIにより大幅に強化された AWS Transform Customを触ってみる
0air
0
240
AI時代のIssue駆動開発のススメ
moongift
PRO
0
330
AI時代のシステム開発者の仕事_20260328
sengtor
0
320
互換性のある(らしい)DBへの移行など考えるにあたってたいへんざっくり
sejima
PRO
0
500
SSoT(Single Source of Truth)で「壊して再生」する設計
kawauso
2
400
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
97
6.6k
Speed Design
sergeychernyshev
33
1.6k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
140
WCS-LA-2024
lcolladotor
0
500
Making Projects Easy
brettharned
120
6.6k
30 Presentation Tips
portentint
PRO
1
270
Amusing Abliteration
ianozsvald
0
150
YesSQL, Process and Tooling at Scale
rocio
174
15k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
How to build a perfect <img>
jonoalderson
1
5.3k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
Transcript
ࠇຐज़"VUP-BZPVUͱ J1IPOF1MVT @shobyshoby
ࣗݾհ pixivͰΞϓϦͭͬͯ͘·͢
ຊ
iOS 7 ࣌
Before
After
Storyboard͕ഁͨ͠ͷͰ ཧͯ͠AutoLayoutԽͨ͠ ৄࡉʮStoryboard + AutoLayoutόουϊϋʯͷεϥΠυ https://speakerdeck.com/shoby/storyboard-plus-autolayout-bad-knowhow
iOS 8
ʮXcode Beta 6 Ͱ͏·͘ಈ͍ͯΔ͠ɺ iOS 8 ָউͬ͢Θʔ ը໘େ͖͘ͳΔͬͯᷚ͋Δ͚Ͳɺ AutoLayoutରԠͯ͠Δ͠ɺ༨༟ͬ͠ΐʯ
iPhone 6/6 Plus ൃද
͏Θ͋͋͋͋
ࠇຐज़"VUP-BZPVUͱ J1IPOF1MVT
ը໘αΠζมߋͷରԠ͕ ͭΒ͔ͬͨ෦Λڞ༗͠·͢ ! Α͘ߟ͓͑ͯ͏ AutoLayout
֓ཁ
"VUP-BZPVUΞχϝʔγϣϯ "VUP-BZPVU 6*4DSPMM7JFX "VUP-BZPVUͷϝϯςφϯείετ
"VUP-BZPVU Ξχϝʔγϣϯ
AutoLayoutΞχϝʔγϣϯ "VUP-BZPVUͷ$POTUSBJOUΛ *#0VUMFUͰଓ $POTUSBJOUΛ6*7JFXͷ BOJNBUJPO#MPDLதͰมԽͤ͞Δ
Ξχϝʔγϣϯ
Ξχϝʔγϣϯͷίʔυ [UIView animateWithDuration:duration animations:^{ self.detailViewTopConstraint.constant = height; [self.view layoutIfNeeded]; }];
ϝϦοτ ίʔυྔ͕ݮΔ ୯Ұͷ7JFX͚ͩͳΒγϯϓϧ Ͱ͔Γ͍͢
σϝϦοτ ґଘؔΛ࣋ͬͨ7JFX͕ෳಉ࣌ʹมԽ͠ ͯ͠·͏ ґଘؔͷ͋Δผ7JFXͷϢʔβʔૢ࡞͕ ݪҼͰαΠζ͕มΘΔ͜ͱʜ BOJNBUJPO#MPDL֎ͰϨΠΞτͷ࠶ߏ ͕ߦΘΕΔͱΞχϝʔγϣϯ͠ͳ͍
"VUP-BZPVU 6*4DSPMM7JFX
6*4DSPMM7JFXͷϝϦοτɾ σϝϦοτ .JYFE"QQSPBDIͱ1VSF "VUP-BZPVU"QQSPBDI ԣ෯ґଘίʔυ
UIScrollViewͷ ϝϦοτɾσϝϦοτ
UIScrollView AutoLayoutʹ͍ͯͳ͍
ཧ༝͕ແ͚Ε UIPageViewController UICollectionViewΛΘΓʹ ͏ࣄΛߟ͑ͨํ͕ྑ͍
UIScrollViewͷϝϦοτ εΫϩʔϧɺϖʔδϯάɺζʔ ϜΛ݉Ͷඋ͑ͨଟػೳੑ εΫϩʔϧঢ়گʹ߹Θͤͨ ࡉ͔͍ϑΟʔυόοΫ͕Մೳ
UIScrollViewͷσϝϦοτ 6*4DSPMM7JFXͷ֎෦ͱ෦ͷ࠲ඪͷ Έ͕ҟͳΔͨΊɺ"VUP-BZPVU ʹΑͬͯԿ͕ى͔ͨ͜ཧղͮ͠Β͍ ෦ͷίϯςϯπΛಈతʹมԽͤ͞ Δ͜ͱ͕ଟ͘ɺ੩తʹ੍ΛՃ͢ Δ"VUP-BZPVUͱ૬ੑ͕ѱ͍
UIScrollViewͷ༻్ ଟ͘ͷใͷҰ෦ΛݟͤΔʢεΫϩʔϧʣ จ຺ಉ͚ͩ͡ͲɺͦΕͧΕҧ͏ίϯςϯ πΛͭͭݟͤΔʢϖʔδϯάʣ ͭͷڊେͳίϯςϯπͷҰ෦ΛݟͤΔ ʢζʔϜʣ
UIScrollViewͷସ ଟ͘ͷใͷҰ෦ΛݟͤΔʢεΫϩʔϧʣ ˠ6*5BCMF7JFXɺ6*$PMMFDUJPO7JFX จ຺ಉ͚ͩ͡ͲɺͦΕͧΕҧ͏ίϯςϯπΛͭ ͭݟͤΔʢϖʔδϯάʣ ˠ6*1BHF7JFX$POUSPMMFSɺ6*$PMMFDUJPO7JFX ͭͷڊେͳίϯςϯπͷҰ෦ΛݟͤΔʢζʔϜʣ ˠ͖͋ΒΊͯ6*4DSPMM7JFX͓͏ʜ
pixivΞϓϦͷ߹ ΠϥετӾཡͷͨΊͷ շదੑΛٻͨ݁͠Ռɺ UIScrollViewΛ͍ଓ͚͍ͯΔ
Mixed Approachͱ Pure Auto Layout Approach
UIScrollView And Autolayout https://developer.apple.com/library/ios/technotes/tn2154/_index.html ͍߹Θ͕ͤଟ͔ͬͨͷ͔ UIScrollViewˍAutoLayoutͷ ઐ༻υΩϡϝϯτ͕͋Δ
Mixed Approach TDSPMM7JFXͷ֎ଆʹ੍ TDSPMM7JFXͷDPOUFOU4J[FखಈͰઃఆ DPOUFOU7JFXBVUPSFTJ[JOH.BTL DPOUFOU7JFXΛಈతʹՃআͨ͠Γɺ ෳͷDPOUFOU7JFXΛѻ͏߹ͬͪ͜
Pure Auto Layout Approach TDSPMM7JFXͷ֎ଆͱɺதʹ੍ TDSPMM7JFXͷDPOUFOU4J[F੍ʹΑΓܾ ·ͬͨDPOUFOU7JFXͷαΠζʹͳΔ DPOUFOU7JFXͷαΠζɺTDSPMM7JFXͱ ֎ଆͱWJFXͷ੍ʴDPOUFOU7JFXͱ TDSPMM7JFXͱͷ੍ͷෳ߹݅Ͱܾ·Δͨ
ΊɺཧղࠔΛۃΊΔ
contentView scrollView contentView scrollView Mixed Approach Pure Auto Layout Approach
UIScrollViewͱ ԣ෯ґଘίʔυ
UIScrollViewͰ ԣํʹϖʔδϯά͢Δͱ σόΠεͷԣ෯ґଘʹͳΔ
Mixed Approachͷ߹ɺ contentViewੜޙ scrollViewͷԣ෯͕มΘΔͱ ද่͕ࣔΕΔ
2 1 3 4 pixivΞϓϦͷߏ
2 1 3 4 CGFloat offset = 2 * self.scrollView.frame.size.width;
self.scrollView.contentOffset = CGPointMake(offset, 0); 2ϖʔδʹඈͿͱ͖
2 1 3 4 scrollViewͷԣ෯͕มΘΔ CGFloat offset = 2 *
self.scrollView.frame.size.width; self.scrollView.contentOffset = CGPointMake(offset, 0);
ԣ෯ґଘίʔυͷղܾࡦ WJFXͷԣ෯͕มΘΔʹશͯ ͷDPOUFOU7JFXͷGSBNFΛܭ ࢉ͢͠ ԣ෯ґଘͷॲཧͷલʹɺ MBZPVU*G/FFEFEΛݺͼग़͢
"VUP-BZPVUͷ ϝϯςφϯείετ
AutoLayout ਓྨʹૣ͗ͨ͢…
ಡΊΔAutoLayout ίʔυଆͰ"VUP-BZPVUΛॻ ͘ͱϝϯςφϯεੑ͕ߴ͍ όʔδϣϯཧ͕Ͱ͖Δʂ ଞਓͷ੍͕ಡΊΔʂ
·ͱΊ
৽͍͠Ͱͷಈ࡞֬ೝɺൃද͞Εͨ ޙ͡Όͳ͍ͱ͍͠ "VUP-BZPVUΛͬͯΞχϝʔγϣϯΛ ͢Δͱίʔυ؆ܿʹͳΔ͕ɺґଘ͕ଟ ͍ͱෳࡶ 6*4DSPMM7JFX"VUP-BZPVUͩͱͭΒ͍ ίʔυଆͰ੍Λॻ͘ͱϝϯςφϯεͰ͖ Δ
http://recruit.pixiv.net/
͓͠·͍