iPhoneアプリ開発 (23日目)
今日も細かい修正、ただ、「修正できないのでは。。」と思う箇所がでてきて、半日ほど費やしてます。
デザインは随分完成に近づいているので、そろそろプログラムの方もバグを修正してデザインのみという状態に持って行きたいところです。
- イベントの削除を実装
- 設定画面の入力方法を修正
- TableViewとトップ画面が重なる問題の修正
イベントの削除を実装
今更ながら、イベントの削除機能がないことに気がついたので、実装しました。
なぜ今まで気が付かなかったかというと、お手本にしているサービスには削除機能がなかったせいでした。削除機能を付けないという選択肢もありましたが、今回のサービスは自分の意図しないイベントが残っていることは好ましくないため、つけることにしました。
実装自体は簡単でイベント詳細画面にボタンをつけて、ボタンを押したら、確認ダイアログ、そのあと、削除を実行して、もとのTableViewに戻る。という形です。
設定画面の入力方法を修正
最初に作った設定画面ですが、自分の知識の向上とともにデザインに合わせる意図で入力方法の修正をしました。
各項目はUITextFieldを使って表示し、項目のタップで変更が出来るようにしていましたが、編集用のアイコンを別に設置し、項目をタップできないようにしました。
また、編集ボタンタップ時に表示するDatePickerやキーボードをアニメーションするようにして、表示をスムーズにしました。
TableViewとトップ画面が重なる問題の修正
イベント一覧を表示するTableViewの上にお気に入りの写真が表示されるようにしたのですが、イベント詳細画面から戻ってきたときにTableViewと写真がかぶったり、間が開いたりすることがあることがわかりました。
UITableViewのなかにUIImageVIewを入れて表示しているため、UITableViewのframeを操作して修正するといったことはできなさそうです。
メイン画面からTableView画面への遷移では同じ現象が発生しないので、画面のリフレッシュ方法がイベント詳細画面からの遷移とでは異なるのかと思い、調べましたが、不明のまま今日は終了しました。
今日参考にしたページ
- UIViewController Class Reference
- View Controller Programming Guide for iOS: The View Controller Life Cycle
- iphone - UIViewController. viewDidLoad vs. viewWillAppear: What is the proper division of labor? - Stack Overflow
- C開発者によるiPhoneプログラミング: UIViewの追加・削除
- UITableViewを再描画する方法 « iPhoneアプリ練習帳
- UITableView Class Reference