Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ϨΠΞτΛ ͬͱ4XJGUZʹ ʢ૯ूฤʣ for",*#"TXJGUʷΤϨΧίʔυϨΠΞτษڧձ
Slide 2
Slide 2 text
var employedBy = "YUMEMI Inc." var job = "iOS Developer" var favoriteLanguage = "Swift" var twitter = "@lovee" var qiita = "lovee" var github = "el-hoshino" var additionalInfo = """ Ϛπμϩʔυελʔ͍͍ͧʂ """ class Me: Developable, Talkable { }
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
ࢀߟɿίʔυͰϨΠΞτΛΉํ๏ ▸ ϨΠΞταΠΫϧͷѲ ▸ ϨΠΞτʹؔ͢ΔϓϩύςΟʔͷಈ͖Λཧղ ▸ దٓʹϥΠϒϥϦʔΛಋೖ ˞IUUQTTQFBLFSEFDLDPNMPWFFOPTUPSZOPCPBSE
Slide 5
Slide 5 text
ϨΠΞτΛ ͬͱ4XJGUZʹ ʢ૯ूฤʣ for",*#"TXJGUʷΤϨΧίʔυϨΠΞτษڧձ
Slide 6
Slide 6 text
૯ूฤʁ!
Slide 7
Slide 7 text
IUUQTCPPUIQNKBJUFNT
Slide 8
Slide 8 text
4XJGUZͱ ▸ Ϟμϯʁ ▸ Φϓγϣφϧʁ ▸ ಡΈ͢͞ʁ
Slide 9
Slide 9 text
No content
Slide 10
Slide 10 text
No content
Slide 11
Slide 11 text
ྑ͍ઃܭޡͬͨ༻๏Λ ίϯύΠϧΤϥʔʹ͢Δ CZੴ༸ࢿ גࣜձࣾϝϧΧϦ
Slide 12
Slide 12 text
4XJGUZͱޡͬͨ༻๏͕ ίϯύΠϧΤϥʔʹͳΔ CZMPWFF
Slide 13
Slide 13 text
ϨΠΞτͷώϡʔϚϯΤϥʔΛ ίϯύΠϧΤϥʔʹ͢Δ
Slide 14
Slide 14 text
"VUP-BZPVUͷσϝϦοτ ▸ ύϑΥʔϚϯε͕ѱ͍ ▸ σόοά͠ʹ͍͘ ▸ ಈతʹมΘΔϨΠΞτʹରԠ͠ʹ͍͘ ▸ ϨΠΞτʹΤϥʔ͕͋ͬͯϥϯλΠϜͰॳΊͯΔ
Slide 15
Slide 15 text
ϨΠΞτͷώϡʔϚϯΤϥʔΛ ίϯύΠϧΤϥʔʹͰ͖ͳ͍ "VUP-BZPVU 4XJGUZ͡Όͳ͍
Slide 16
Slide 16 text
ϨΠΞτͷώϡʔϚϯΤϥʔΛ ίϯύΠϧΤϥʔʹ͢Δʹ CGRectΛ࡞Ε͍͍
Slide 17
Slide 17 text
CGRectΛ࡞Δʹ ▸ CGRectͷΠχγϟϥΠβʔΛ௨͢ඞཁ͕͋Δ ▸ CGRect(x: 0, y: 0, width: 100)ΛݺΜ͡Ό͑ ίϯύΠϧΤϥʔʹͳΔ ▸ heightඞཁͳͷʹઃఆ͞Ε͍ͯͳ͍
Slide 18
Slide 18 text
CGRect ࡞Δͷ໘͡ΌΜʂ ▸ x, y, width, height Ͱ͔͠ઃఆͰ͖ͳ͍ ▸ "VUP -BZPVU ͳΒࠨӈͷॴͱ͔͑Δ ▸ "VUP -BZPVU ͳΒଞͷϏϡʔͱͷҐஔؔͱ͔͑Δ
Slide 19
Slide 19 text
/PU"VUP-BZPVUͩͬͯ ͑Δ"
Slide 20
Slide 20 text
IUUQTHJUIVCDPNFMIPTIJOP/PU"VUP-BZPVU
Slide 21
Slide 21 text
/PU"VUP-BZPVUΛͬͨϨΠΞτίʔυ public override func layoutSubviews() { super.layoutSubviews() // ...ུ... self.nal.layout(self.subTitleLabel) { $0 .pinTopLeft(to: self.mainTitleLabel, with: { $0.bottomLeft }) .pinRight(to: self.mainTitleLabel, with: { $0.right }) .setBottom(by: { $0.safeAreaGuide.bottom }) } } ٿطصعٛوطقپ⑦و٩٦ٸڋخٿطصعٛ 猺؆د؊⯪⟓؞䐂נنڋٜٿطصعٛ猻
Slide 22
Slide 22 text
/PU"VUP-BZPVUΛͬͨϨΠΞτίʔυ public override func layoutSubviews() { super.layoutSubviews() // ...ུ... self.nal.layout(self.subTitleLabel) { $0 .pinTopLeft(to: self.mainTitleLabel, with: { $0.bottomLeft }) .pinRight(to: self.mainTitleLabel, with: { $0.right }) .setBottom(by: { $0.safeAreaGuide.bottom }) } } PCN٠ڋٳٌ٭ڋٌخⓨا
Slide 23
Slide 23 text
/PU"VUP-BZPVUΛͬͨϨΠΞτίʔυ public override func layoutSubviews() { super.layoutSubviews() // ...ུ... self.nal.layout(self.subTitleLabel) { $0 .pinTopLeft(to: self.mainTitleLabel, with: { $0.bottomLeft }) .pinRight(to: self.mainTitleLabel, with: { $0.right }) .setBottom(by: { $0.safeAreaGuide.bottom }) } } NC[QWVو٩٦ٸڋخ ٿطصعٛ
Slide 24
Slide 24 text
/PU"VUP-BZPVUΛͬͨϨΠΞτίʔυ public override func layoutSubviews() { super.layoutSubviews() // ...ུ... self.nal.layout(self.subTitleLabel) { $0 .pinTopLeft(to: self.mainTitleLabel, with: { $0.bottomLeft }) .pinRight(to: self.mainTitleLabel, with: { $0.right }) .setBottom(by: { $0.safeAreaGuide.bottom }) } } ٿطصعٛ⻟彂 ؊و٩٦ٸڋ
Slide 25
Slide 25 text
/PU"VUP-BZPVUΛͬͨϨΠΞτίʔυ public override func layoutSubviews() { super.layoutSubviews() // ...ུ... self.nal.layout(self.subTitleLabel) { $0 .pinTopLeft(to: self.mainTitleLabel, with: { $0.bottomLeft }) .pinRight(to: self.mainTitleLabel, with: { $0.right }) .setBottom(by: { $0.safeAreaGuide.bottom }) } } デ⃫猺6QR.GHV猻ֻ⛔䷐猺4KIJV猻⃬䷐猺$QVVQO猻 ؊⬕㔡خٴِٖٜٔغڋچ崎
Slide 26
Slide 26 text
/PU"VUP-BZPVUΛͬͨϨΠΞτίʔυ public override func layoutSubviews() { super.layoutSubviews() // ...ུ... self.nal.layout(self.subTitleLabel) { $0 .pinTopLeft(to: self.mainTitleLabel, with: { $0.bottomLeft }) .pinRight(to: self.mainTitleLabel, with: { $0.right }) .setBottom(by: { $0.safeAreaGuide.bottom }) } } デ⃫خOCKP6KVNG.CDGN؊デ⃬؇٧چ
Slide 27
Slide 27 text
/PU"VUP-BZPVUΛͬͨϨΠΞτίʔυ public override func layoutSubviews() { super.layoutSubviews() // ...ུ... self.nal.layout(self.subTitleLabel) { $0 .pinTopLeft(to: self.mainTitleLabel, with: { $0.bottomLeft }) .pinRight(to: self.mainTitleLabel, with: { $0.right }) .setBottom(by: { $0.safeAreaGuide.bottom }) } } ⛔䷐خOCKP6KVNG.CDGN؊⛔䷐؇٧چ
Slide 28
Slide 28 text
/PU"VUP-BZPVUΛͬͨϨΠΞτίʔυ public override func layoutSubviews() { super.layoutSubviews() // ...ུ... self.nal.layout(self.subTitleLabel) { $0 .pinTopLeft(to: self.mainTitleLabel, with: { $0.bottomLeft }) .pinRight(to: self.mainTitleLabel, with: { $0.right }) .setBottom(by: { $0.safeAreaGuide.bottom }) } } ⃬䷐خ岋؊َڋ٨ػٽص؊⃬䷐؇崎
Slide 29
Slide 29 text
/PU"VUP-BZPVUΛͬͨϨΠΞτίʔυ public override func layoutSubviews() { super.layoutSubviews() // ...ུ... self.nal.layout(self.subTitleLabel) { $0 .pinTopLeft(to: self.mainTitleLabel, with: { $0.bottomLeft }) .pinRight(to: self.mainTitleLabel, with: { $0.right }) .setBottom(by: { $0.safeAreaGuide.bottom }) } } ٿطصعٛخ∽اٴڋؾڋ
Slide 30
Slide 30 text
/PU"VUP-BZPVUͱͯศར ▸ ࠨӈͷॴͱ͔ϨΠΞτܾΊʹ͑Δ ▸ ଞͷϏϡʔΛࢀর͢Δ͜ͱͰ͖Δ ▸ ಡΈ͍͢ߏจͰϨΠΞτ͕؆୯ʹΠϝʔδͰ͖Δ ▸ ϝιουνΣʔϯͰඞཁͳͷίʔυิͰ͙͢ॻ͚Δ ▸ ઃఆ͕Γͳ͚ΕίϯύΠϧΤϥʔͰڭ͑ͯ͘ΕΔʂ
Slide 31
Slide 31 text
/PU"VUP-BZPVUΛͬͨϨΠΞτίʔυ public override func layoutSubviews() { super.layoutSubviews() // ...ུ... self.nal.layout(self.subTitleLabel) { $0 .pinTopLeft(to: self.mainTitleLabel, with: { $0.bottomLeft }) .pinRight(to: self.mainTitleLabel, with: { $0.right }) .setBottom(by: { $0.safeAreaGuide.bottom }) } }
Slide 32
Slide 32 text
/PU"VUP-BZPVUΛͬͨϨΠΞτίʔυ public override func layoutSubviews() { super.layoutSubviews() // ...ུ... self.nal.layout(self.subTitleLabel) { $0 .pinTopLeft(to: self.mainTitleLabel, with: { $0.bottomLeft }) .pinRight(to: self.mainTitleLabel, with: { $0.right }) } } Cannot convert value of type 'LayoutMaker' (aka 'LayoutMaker') to closure result type 'LayoutMaker'
Slide 33
Slide 33 text
/PU"VUP-BZPVUΛͬͨϨΠΞτίʔυ public override func layoutSubviews() { super.layoutSubviews() // ...ུ... self.nal.layout(self.subTitleLabel) { $0 .pinTopLeft(to: self.mainTitleLabel, with: { $0.bottomLeft }) .pinRight(to: self.mainTitleLabel, with: { $0.right }) .fitWidth() } } Type 'IndividualProperty.TopLeft.WillSetRightProperty' (aka 'IndividualProperty.TopLeftRight') does not conform to protocol 'LayoutPropertyCanStoreWidthType'
Slide 34
Slide 34 text
Ͳ͏ͬͯ͜ͷΈΛ ࡞͔ͬͨ!
Slide 35
Slide 35 text
O x y ࢛͍֯ྖҬΛ࡞Δʹ ▸ ԣʹॏෳ͠ͳ͍ཁૉ ▸ ॎʹॏෳ͠ͳ͍ཁૉ ▸ ˞Ͱ͋Δඞཁͳ͍ ▸ ྫ͑தԝͩͬͨΓɺ͞ ͩͬͨΓ0, ▸ ྫ͑CGRect(x, y, width, height)ԣʹ xͱwidthͷཁૉɺॎ ʹyͱheightͷཁૉ
Slide 36
Slide 36 text
/PU"VUP-BZPVUΛͬͨϨΠΞτίʔυ public override func layoutSubviews() { super.layoutSubviews() // ...ུ... self.nal.layout(self.subTitleLabel) { $0 .pinTopLeft(to: self.mainTitleLabel, with: { $0.bottomLeft }) .pinRight(to: self.mainTitleLabel, with: { $0.right }) .setBottom(by: { $0.safeAreaGuide.bottom }) } } طٞيٶپٴڋؾڋ 猺ؚ∶؞崎ױبנ؆נ猻
Slide 37
Slide 37 text
/PU"VUP-BZPVUΛͬͨϨΠΞτίʔυ public override func layoutSubviews() { super.layoutSubviews() // ...ུ... self.nal.layout(self.subTitleLabel) { $0 .pinTopLeft(to: self.mainTitleLabel, with: { $0.bottomLeft }) .pinRight(to: self.mainTitleLabel, with: { $0.right }) .setBottom(by: { $0.safeAreaGuide.bottom }) } } デ⃫崎䃩؛ٴڋؾڋ 猺㴋屢倁؇デ䷐ֻ儇屢倁؇⃫䷐ר崎ױب猻
Slide 38
Slide 38 text
/PU"VUP-BZPVUΛͬͨϨΠΞτίʔυ public override func layoutSubviews() { super.layoutSubviews() // ...ུ... self.nal.layout(self.subTitleLabel) { $0 .pinTopLeft(to: self.mainTitleLabel, with: { $0.bottomLeft }) .pinRight(to: self.mainTitleLabel, with: { $0.right }) .setBottom(by: { $0.safeAreaGuide.bottom }) } } デ⃫⛔崎䃩؛ٴڋؾڋ 猺㴋屢倁؇デ䷐⛔䷐ֻ儇屢倁؇⃫䷐ר崎ױب猻
Slide 39
Slide 39 text
/PU"VUP-BZPVUΛͬͨϨΠΞτίʔυ public override func layoutSubviews() { super.layoutSubviews() // ...ུ... self.nal.layout(self.subTitleLabel) { $0 .pinTopLeft(to: self.mainTitleLabel, with: { $0.bottomLeft }) .pinRight(to: self.mainTitleLabel, with: { $0.right }) .setBottom(by: { $0.safeAreaGuide.bottom }) } } ٨ٿڋٳ崎䃩؛ٴڋؾڋ 猺⑉؊㊦屢؆屢倁ר崎ױب猻
Slide 40
Slide 40 text
/PU"VUP-BZPVUΛͬͨϨΠΞτίʔυ public override func layoutSubviews() { super.layoutSubviews() // ...ུ... self.nal.layout(self.subTitleLabel) { $0 .pinTopLeft(to: self.mainTitleLabel, with: { $0.bottomLeft }) .pinRight(to: self.mainTitleLabel, with: { $0.right }) .setBottom(by: { $0.safeAreaGuide.bottom }) } } .C[QWV/CMGT+PKVKCN .C[QWV/CMGT(TCOG 恘䎚倣䎚ר㽛ؚמاقڀڋًٶڋ
Slide 41
Slide 41 text
No content
Slide 42
Slide 42 text
No content
Slide 43
Slide 43 text
ϝιουνΣʔϯͱΫϩʔδϟΛ Έ߹ΘͤΔ͜ͱʹΑͬͯ ߋͳΔརศੑͱ҆શੑ
Slide 44
Slide 44 text
/PU"VUP-BZPVU $PNQBUJCMFXJUI4XJGU "WBJMBCMFGSPN5PEBZ Should be IUUQTHJUIVCDPNFMIPTIJOP/PU"VUP-BZPVU
Slide 45
Slide 45 text
IUUQTCPPUIQNKBJUFNT ϨΠΞτΛɺͬͱ4XJGUZʹ ࣥච࣌όʔδϣϯ͕ͩɺ /PU"VUP-BZPVUʹΘΕͯΔ ςΫχοΫܝࡌ