Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ハンドメイドカレンダー第15回potatotips用

3,529 views

Published on

3/12: 第15回potatotipsにて発表した資料になります。ささやかではありますが、小さなことでもお役に立つことができれば幸いです。

Published in: Engineering
  • Be the first to comment

ハンドメイドカレンダー第15回potatotips用

  1. 1. カレンダーを自作する 大概ライブラリ使うけど自分で作ってみる
  2. 2. 自己紹介 酒井文也(さかい ふみや) 今までの仕事履歴(本業) 石川県金沢市生まれ・東京(大塚)住まいの30歳 本業はサーバーサイドのプログラマ ※Railsを使っています 26歳∼30歳:PHP / Rubyプログラマ 23歳∼25歳:Webデザイナー兼ディレクター Objective-C歴:3ヶ月くらい Swift歴:50日 趣味:シルバーアクセサリー集め・スイーツ作り・開発 女子向けと食べ物系コンテンツのお仕事が多い… → やっと1個アプリをリリースできました
  3. 3. カレンダーでもこんなのしたい なんで自分でつくってみたいと思ったの? 参考にしたもの 既存のカレンダーライブラリは… ・日本の祝祭日に対応してない 機能:ジョルテ(Androidアプリ) デザイン:Fril ・デザインの変更をもっと簡単にしたい ・次の画面に値を引き継いで渡したい ポイントは「ボタンを並べてカレンダー風に」すること ・上位バージョンで使えないかもしれない ・ソースを見たらマジで地獄だった objective-cを始めて5日目の僕はこうなった ・よさげなのはあったけど中国語だった 上記のような悲劇は嫌なので もう自分でつくることにした 期間:1day Swift移植6hour
  4. 4. では実際にサンプルを! こちらのページからダウンロードをどうぞ 今後の拡張予定 https://github.com/fumiyasac/handMadeCalendar ・上記ページの「Download ZIP」よりどうぞ! ・デザイン変更&画面遷移サンプル(近日更新予定) ・日本の祝祭日対応(3年後までは検証済み)※Objective-Cのみ ・こちらは今後も更新は随時行う予定です。 ※ 上記の使用例はリリースしたアプリがありますので、 アプリ名「Coffre」で検索してみてください! https://github.com/fumiyasac/handMadeCalendarOfSwift
  5. 5. 軽く処理の説明に関して ※プログラムがはじめての方は「ふーん」程度でも大丈夫です ※「Swift版」はまだ祝祭日計算ロジックないです…すみません! ※基本的な作り方はこちらのURLに解説を掲載しています。 通称:ハンドメイドカレンダー デフォルトのデザインは「円」と「ピンク」がベースです ※「Swift版」「Objective-C版」も用意しています http://blog.just1factory.net/programming/179
  6. 6. カレンダー計算の説明 ①7(横)×6(縦)の入れ物を作る for文で配置 このボタンにはi = 0, 1, … , 41の番号があるイメージ ※まるいやつはボタン ②1日の日付と曜日がカレンダー  コンポーネントでとれるので  ボタンに対して日を入れる。 曜日は日曜∼土曜が 1∼7の数値で取れる 1日の位置は、i == dayOfWeek - 1 で決定できる ③条件分岐は下記の3パターンに  対して行う(日付が入る or 日  付が入らない場合) 曜日とその月の最後 の日から条件を決定 case1) 日付が入らない: i < dayOfWeek - 1 case2) 日付が入る: i == dayOfWeek - 1 || i < dayOfWeek + maxDay - 1 case3) 日付が入らない: i == dayOfWeek + maxDay - 1 || i < 42 ※変数: dayOfWeek: 曜日 maxDay: その月の最終日 ※日付が入る場合: ボタンにタグを仕込む (タグ=日の値となる)
  7. 7. 祝祭日の計算ロジック ※数学的な話になります 計算で出す際にハマったポイント ※ハッピーマンデー法 ※未来の祝祭日 ※ゴールデンウィーク&シルバーウィーク ※春分の日・秋分の日 参考にしたもの ★Wikipedia(祝祭日のパターン抽出のため) ★こちらのサイト 法律の改正等があるかも知れないので調べた http://p-ho.net/index.php?page=22 PHPのコードをObjective-Cへ移植 (※秋分・春分の考慮もここを参考にしています)
  8. 8. ありがとうございました m(_ _)m まだまだ未熟で申し訳ないです

×