「shibuya.swift #6」での発表資料です。 https://shibuya-swift.connpass.com/event/42712/
Qiitaにも実装方法書いてます: http://qiita.com/waytoa/items/5af5ed975dd2e462621a
ϩʔσΟϯά࣌ͷΑΓྑ͍UIͷ࣮Hiroki Matsueגࣜձࣾ Housmart CIODec 14, 2016shibuya.swift #6
View Slide
• @macs_6• iOS / Ruby / Scrum• ECΞϓϦΧϧͷ։ൃ• ࠷ۙخ͔ͬͨ͠XcodeͷΞοϓσʔτ“Constrain to margins”ʹνΣοΫ͕͔ͭͳ͍Constraints͕ফͤΔ
Five states (5ͭͷঢ়ଶ)1. Ideal State (ཧঢ়ଶ)2. Empty State (ۭঢ়ଶ)3. Error State (Τϥʔঢ়ଶ)4. Partial State (෦తͳঢ়ଶ)5. Loading State (ಡࠐঢ়ଶ)http://scotthurff.com/posts/why-your-user-interface-is-awkward-youre-ignoring-the-ui-stack
ಡࠐঢ়ଶͷ
ಡࠐதͷίϯϙʔωϯτ• ϓϩάϨεόʔ• εϐφʔ
FacebookSlackͷಡࠐը໘
͠ͳͦ͏
“νΧνΧͯ࣍͠ͷঢ়ଶ͕͔Δಡࠐঢ়ଶ”
໊લ͕͔Βͳ͍ɾɾ
SlackͷOSSҰཡΛݟͯΈΔ
Shimmer(γϚʔ)• ʮ͖ΒΊ͖ʯ• ؆୯ʹγϚʔΤϑΣΫτΛ࣮Ͱ͖Δ• จࣈҎ֎ʹ͑Δ• ੲͷiOSͷϩοΫը໘ͷ"swipe to unlock"ͱ͔
ShimmerͰߋʹௐΔ
εέϧτϯεΫϦʔϯ
εέϧτϯεΫϦʔϯ• ࣍ʹදࣔ͞ΕΔviewʹࣅͤͨϓϨʔεϗϧμʔ• ࣍ͷදࣔͷݟӫ͑ͷظײΛߴΊΔ• ϢʔβͷظͷݮগΛΒ͛Δ
ಡࠐதͷίϯϙʔωϯτ• ϓϩάϨεόʔ• εϐφʔ• εέϧτϯεΫϦʔϯ
νΧνΧ=> γϚʔޮՌ࣍ͷঢ়ଶ͕͔Δಡࠐঢ়ଶ=> εέϧτϯεΫϦʔϯ
࡞ͬͯΈͨ
σϞ
import Shimmer...shimmeringView.isShimmering = trueshimmeringView.shimmeringBeginFadeDuration = 0.3shimmeringView.shimmeringOpacity = 0.3shimmeringView.contentView = contentView
γϯϓϧ
ʮ͜ͷΞϓϦ͍ʯ
ʮ͜ͷΞϓϦ͍ʯ• ࣮ࡍʹϨεϙϯεඳը͕͍• ମײతʹ͍
εέϧτϯεΫϦʔϯͱShimmerͰվળ͢Δ͔ʂ
·ͱΊ• ϓϩάϨεόʔɾεϐφʔҎ֎ͷεέϧτϯεΫϦʔϯͱ͍͏બࢶ͕͋Δ• ͋ͷνΧνΧγϚʔޮՌͱݺͿ• εέϧτϯεΫϦʔϯʹShimmerΛ͏ͱಡࠐதΆ͕͞૿͢• ମݧ্͕͢Δ͔ʂ
We are hiring!ϋεϚʔτ@wantedly