Slide 1

Slide 1 text

)#'BWͷ࣮૷ͷͩ͜ΘΓ !OBPZB@JUP $POGFSFODF8JUI%FWFMPQFST

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

SFCVJMEGNޮՌ

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

3VCZ.PUJPOͰͰ͖ͯ·͢

Slide 7

Slide 7 text

ͩ͜ΘΓ

Slide 8

Slide 8 text

ͳΊΒ͔ͳλΠϜϥΠϯ

Slide 9

Slide 9 text

ͳΊΒ͔ʹ͢ΔͨΊʹ •  6*5BCMF7JFXεΫϩʔϧ଎౓ͷ࠷దԽ •  5XJUUFSΈ͍ͨͳ6*5BCMF7JFXͷߋ৽ •  ϦΞϧλΠϜ͡Όͳ͍΋ͷΛϦΞϧλΠϜ ͷΑ͏ʹݟͤΔ – J04ͷ3FNPUFOPUJpDBUJPOϞʔυ

Slide 10

Slide 10 text

6*5BCMF7JFXΛͳΊΒ͔ʹ ΋͸΍'"2Ͱ͕͢ŋŋŋ h"ps://blog.twi"er.com/2012/simple-­‐strategies-­‐smooth-­‐anima9on-­‐iphone

Slide 11

Slide 11 text

͓͓·͔ʹ •  ϦϞʔτͷϦιʔε͸ඇಉظͰऔಘ •  6TFEJSFDUESBXJOH – 1IBTF1JQFMJOFŋŋŋESBX3FDUͷதͰ ͸$16ˠ(16 – ηϧͷதͰ͸6*-BCFM΍6**NBHF7JFXͳ Ͳͷ7JFXΛαϒϏϡʔͱͤͣɺ ESBX*O3FDUͳͲͰ௚઀ඳը͢Δ •  (16ॲཧ͕࢝·Δલͷ$16ෛ୲ΛݮΒ͢

Slide 12

Slide 12 text

ϦϞʔτͷϦιʔε͸ඇಉظͰ •  ࢛ͷޒͷݴΘͣ"'/FUXPSLJOH •  setImageWithURLReqest:placeholderI mage:success:failure: ͍ͭ͜ʹ೚ͤΕ͹ྑ͍ ײ͡Ͱඇಉظʹ

Slide 13

Slide 13 text

%JSFDU%SBXJOH class  CustomCellContentView  <  UIView      def  drawRect(rect)          self.superview.superview.drawRectContent(rect)      end   end     class  BookmarkCell  <  UITableViewCell     def  initWithStyle(style,  reuseIdentifier:reuseIdentifier)      if  super          @contentView  =  CustomCellContentView.alloc.initWithFrame(CGRectZero)          ...   end     def  drawRectContent(rect)      ...      font  =  UIFront.boldSystemFontOfSize(16)      size  =  @text.sizeWithFont(font)      @text.drawInRect([[x,  y],  size],  withFont:font)   end   DPOUFOU7JFXͷ ESBX3FDU಺Ͱ ESBX*O3FDUͰඳը

Slide 14

Slide 14 text

5XJUUFSΈ͍ͨͳߋ৽ εΫϩʔϧͰ৽͠ ͍ηϧ͕Ͱͯ͘Δ 5XJUUFSΞϓϦ͸ ৽ண͕͋Δͱŋŋŋ 6*3FGSFTI$POUSPMΛී௨ʹ࢖͚ͬͨͩͰ͸͜ͷಈ͖ʹͳΒͳ͍

Slide 15

Slide 15 text

DPOUFOU0GGTFUΛҡ࣋͢Δ offset  =  tableView.contentOffset   tableView.reloadData     for  i  in  (0..prependedRowSize  -­‐  1)  do      offset.y  +=  self.tableView(          tableView,          heightForRowAtIndexPath:NSIndexPath.indexPathForRow(i,  inSection:0)      )   end     if  offset.y  >  tableView.contentSize.height      offset.y  =  0   end     tableView.setContentOffset(offset)   SFMPBEલͷ DPOUFOU0⒎TFU Λऔಘ ௥Ճͨ͠ηϧͷ ߴ͞Λܭࢉ ࠶ܭࢉͨ͠ P⒎TFUΛηοτ ͜ΕΛϞσϧߋ৽ͷΠϕϯτΛड͚औͬͨ࣌ʹ࣮ߦ͢Δ ΋͏ͪΐͬͱ଎͍࣮૷͕͋Γͦ͏ͳ͖΋͢Δ͚Ͳ

Slide 16

Slide 16 text

ϦΞϧλΠϜͷΑ͏ʹݟͤΔ •  )#'BWͷσʔλݩ͸͸ͯͳϒοΫϚʔΫ ͷ344ϑΟʔυ •  344औಘΛϢʔβʔʹҙࣝͤ͞ͳ͍ – ͸ͯͳϒοΫϚʔΫͷ8FC)PPLΛ࢖͍ɺ ৽ண͕͋ͬͨΒ୺຤ʹ3FNPUF1VTI – J04ͷ3FNPUFOPUJpDBUJPOܖػͰ 344ΛऔΓʹ͍͖ɺ5BCMF7JFXΛߋ৽ͯ͠ ͓͘

Slide 17

Slide 17 text

͸ͯͳϒοΫϚʔΫ QVTIICGBWDPN 1BSTF .#BB4 "1/αʔόʔ ৽ணΠϕϯτΛ 8FC)PPLͰ .#BB4ܦ༝Ͱ QVTI͕ಧ͘ 344ΛऔΔ ΞϓϦΛ։͍ͨΒ΋͏৽ணσʔλ͕͋Δ

Slide 18

Slide 18 text

BQQMJDBUJPOEJE3FDFJWF3FNPUF/PUJpDB UJPOGFUDI$PNQMFUJPO)BOEMFS def  application(application,  didReceiveRemoteNotification:userInfo,   fetchCompletionHandler:completionHandler)      self.timelineViewController.performBackgroundFetchWithCompletion(          completionHandler      )      self.handlePush(application,  userInfo:userInfo)   end   J04͔Βɺ#BDLHSPVOE.PEFTͷ SFNPUFOPUJpDBUJPOTΛ༗ޮʹ͢Δ ͱɺQVTIܖػͰ͜ͷϋϯυϥ͕ݺ͹ ΕΔ

Slide 19

Slide 19 text

͓΋͠ΖϙΠϯτ •  3VCZ.PUJPOಛ༗ͷ࿩͸͍ͯ͠ͳ͍ – ҰൠతͳJ04ϓϩάϥϛϯάͷϊ΢ϋ΢ͦͷ ·· – ͭ·Γɺ3VCZ.PUJPOͰͰ͖Δ͜ͱ͸ 0CKFDUJWF$ͷͦΕͱมΘΒͳ͍

Slide 20

Slide 20 text

3VCZ.PUJPO͸ݴޠ͚͕ͩSVCZͰଞ͸શ෦Ұॹ

Slide 21

Slide 21 text

·ͱΊ •  )#'BW࢖ͬͯͳ͍΍ͭ͸৘ऑ 冗談です。   使ってね☆

Slide 22

Slide 22 text

ͪͳΈʹ •  HJUIVCOBPZB)#'BWʹιʔε͋Γ· ͢ Ԛ͍͚Ͳ

Slide 23

Slide 23 text

ͪͳΈʹςετ͸͋Γ·ͤΜ

Slide 24

Slide 24 text

͢͜͠એ఻ •  ༝ॹਖ਼͍͠ #$ϝσΟΞܥͷJ04ΞϓϦ ࡞Δ͓࢓ࣄ͋Γ·͢ɻڵຯ͋Δํ PSձ ࣾ ɺ͓੠͕͚͍ͩ͘͞ •  ,"*;&/QMBUGPSN*ODͱ͍͏ձࣾͰ SVCZͰ͖Δਓืूͯ͠·͢