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
13
4.2k
黒魔術AutoLayoutとiPhone 6/6 Plus
iOS 8 & iPhone6/6 Plus 開発知見共有会での発表資料です。
shoby
October 03, 2014
Tweet
Share
More Decks by shoby
See All by shoby
フリルのCMを支える分析 (メディアバイイング編)
shoby
0
440
FirebaseとBigQueryによるアプリのKPI分析(CMの効果検証編)
shoby
2
2.5k
ユーザーに受け入れられ、問題を起こしづらい大規模リニューアルの進め方
shoby
60
13k
ReactiveCocoaで作る快適な登録フォーム
shoby
0
330
フリルの商品を色で検索できるようにした話
shoby
5
4.2k
Search fashion items by colors
shoby
0
160
iOS 7をサポート対象外にして開発を健全化する
shoby
3
3.9k
Apple Watch Tips
shoby
0
4k
WWDC 2015で 発表された新機能と サービスへの活かし方
shoby
2
7.4k
Other Decks in Technology
See All in Technology
OAuth/OpenID Connectで実現するMCPのセキュアなアクセス管理
kuralab
5
870
Azure AI Foundryでマルチエージェントワークフロー
seosoft
0
150
Oracle Cloud Infrastructure:2025年6月度サービス・アップデート
oracle4engineer
PRO
2
140
初めてのAzure FunctionsをClaude Codeで作ってみた / My first Azure Functions using Claude Code
hideakiaoyagi
1
190
生成AIでwebアプリケーションを作ってみた
tajimon
2
120
2025/6/21 日本学術会議公開シンポジウム発表資料
keisuke198619
2
480
20250623 Findy Lunch LT Brown
3150
0
780
Абьюзим random_bytes(). Фёдор Кулаков, разработчик Lamoda Tech
lamodatech
0
280
プロダクトエンジニアリング組織への歩み、その現在地 / Our journey to becoming a product engineering organization
hiro_torii
0
110
Oracle Audit Vault and Database Firewall 20 概要
oracle4engineer
PRO
3
1.6k
Snowflake Summit 2025全体振り返り / Snowflake Summit 2025 Overall Review
mtpooh
2
210
知識を整理して未来を作る 〜SKDとAI協業への助走〜
yosh1995
0
150
Featured
See All Featured
A Tale of Four Properties
chriscoyier
160
23k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Designing for humans not robots
tammielis
253
25k
For a Future-Friendly Web
brad_frost
179
9.8k
The Invisible Side of Design
smashingmag
299
51k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
BBQ
matthewcrist
89
9.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Site-Speed That Sticks
csswizardry
10
650
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/
͓͠·͍