Diving Day 34

第34回目素潜り
2013/06/09
三浦半島
水温 22度
透明度 6mぐらい
波 0.5m

今年初潜りしてきました

コンディションもかなり良し。ちょっと濁ってましたが、三浦的にはぜんぜん許容範囲

今回はポイントを新規開拓してみました。遠浅な場所で深く潜れるところまで行くのにしんどいですがロケーション的にはかなりいい感じでした。ただ場所柄、沖に出るとそれなりに船やらジェットスキーやらの往来があるのでちょっと怖いですね

この日は40分で15ダイブほど。魚突きはするつもりではなかったのですが、何かいい獲物と出会えればと思い、一応銛も携行

あとは昨年新調したGoPro3での初ダイブ。こいつが水中でどんなパフォーマンスを発揮するのか結構気になっていました

GoPro3から標準でフラットレンズ採用になりましたが、撮った動画を見るとピントがいまいちな気が。今までのサードパーティ製のフラットレンズの方が良かったような

あとはProTuneでの色調補正。サードパーティ製と違ってレッドフィルターを付けていないので、色の具合がどう出るかなと思っていたのですが、感度が良くなったおかげでか、青色すぎる感じにはならなかったですね。今回はそこまで深く(赤色の波長が届かなくなるほど)潜ってないのでアレですが…

Fake Flat UI look on UITableView

Flat UIっぽくしたいなぁと思い、UITableViewの角丸を変更する方法があるのか調べるとこんな方法があった

http://stackoverflow.com/questions/7695129/square-instead-of-rounded-corners-in-uitableviewcell-grouped-style

この通りにすると、確かに角が角ばったUITableViewができる。しかし、ハイライトを有効にしているとセルを選択した時に本来のセルの形状(角丸)でハイライトされるためなんとも不恰好な感じになってしまう。これはなんとかできないのだろうか

iOS7ではデザインがFlat UIになるという噂なので無駄な試みかもしれない

それから今回、コメント機能を付けた。このコメントの入力枠、facebookのものを参考にしたのだが、キーボードが表示されるタイミングでキーボードに合わせて入力枠が上下する実装方法が分からず。結局、キーボードが表示・非表示されるイベントをリッスンして、それに合わせて入力枠を上下させている。この実装方法だと、キーボードが完全に表示・非表示になった段階で入力枠が動くので少々イケテナイ感じが出ている。facebookの実装は、キーボードにくっついて動いているので全く違和感がない。しかも入力される文字に合わせて入力枠も拡大する仕組みになっていて便利。私はそこまで実装に拘らなかった。とりあえずはユーザに新しい機能を提供していかないと。細かな配慮は後から追ってリファクタリングします(多分。。。)

iOS UITableViewController weird behavior

うーむ、奇妙な現象にハマっていた!!

説明が難しいのだが、UITableViewControllerで開閉(Collapse)可能なテーブルセルを作ったところ、ヘッダビューの表示が崩れるという問題

言葉での説明が難しいのでスクリーンキャストを見てください

開閉すると、セクションヘッダが移動しない。というより移動しつつも、残像がある

“読み物ラインアップ”、”診断ラインアップ”などは下記のメソッドのオーバーライドで作成している

[cpp]
– (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
[/cpp]

この問題を改善するためにviewForHeaderInSection:を使わずにtitleForHeaderInSection:を使ってみたりしたのだが改善せず

その他にもかなりコードを削りながらデバッグしたが結局原因が分からないまま。この画面はUITableViewControllerをxibもstoryboardも使わずにprogramaticallyに作成していたので、一旦この実装を置いといて、新たに全く違うUITableViewControllerを実装することにした

ただしstoryboardを使って。storyboard上でUITableViewControllerを配置して、ファイルと関連付け、後は元のソースコードをひとつひとつ追加して行く。状況を確認しながら追加して行ったのが、何故かこちらの方法では上の奇妙な現象は発生しない

そのままコードを補完していったところ、最終的には元のファイルと全く同じ内容になった。ただ違うのはプログラム的にTableViewを作っているか、Storyboardで初期化しているかの違いだけ

参考までに直った状態はこの通り

全くの謎です。どこかに原因があるのでしょうが、少し面倒でもStoryboardを使ってビューコントローラーの初期化をした方が無難かも知れません

しかしこのバグの調査に3日ぐらいハマったよね!! WTF!!!