2011/11/30

UIAlertの出力方向を制御してみる。

UIAlertの出力の向きなんて、通常はあまり意識しない。
意識しなくても、常にそれっぽい向きに出力されているからだ。

しかし、意識せざるを得ない状況は確かに存在する。

それは、UIImagePickerControllerをカメラモードで表示した場合だ。
この場合、開発者の手の届く範囲は、cameraOverlayViewが精一杯と行ったところだろう。

しかし、問題がある。
cameraOverlayViewに登録したViewのViewControllerには、

shouldAutorotateToInterfaceOrientation:の通知が来ない。
つまり、cameraOverlayViewはiPhoneの向きに合わせて回転してくれない。

これを解消するために、notificationCenterから通知を受けて、
無理くり画面を回転させる方法をとる。

事の発端はここなのかもしれないが、
こうする事で、画面は回る。回るのだが、回転するのは画面だけだ。
ここで、他アプリ通知でAlertが表示されたりすると、
画面(cameraOverlayView)は横を向いているのに,
Alertは順方向で表示される。
されてしまう。

これを解消するための方法は、ある。

まず覚えておかなければならないのは、
Alertの表示方向は、stautsBarの位置に影響される。
(statusBarの表示/非表示には関係ない)
つまり、cameraOverlayViewの回転と同時に
[UIApplication sharedApplication].statusBarOrientationを使って
statusBarの位置を調整する。

これで、Alertの向きは正しく表示される。
カメラも安心だ。




2011/11/10

iPhone ドック自作してみた。

au版iPhoneを入手して、すでに二週間ほどたつだろうか。

ようやっと、電話機としての使い勝手の違いにも慣れてきた。
日常の中に溶け込んでくると、次に気になってくるのが、非使用時の置き場所である。

通常は、50cm x 40cmという猫の額ほどの座卓の天板から、
mac bookの設置面積、マウスの操作スペース、はみ出し気味のメモ帳の置き場所を引いた
15cm四方の空間に、dockコネクタを直指ししたiPhoneが寝そべっている状態である。

しかし、この状態だとアプリの動作確認時など、画面の確認が困難だ。
そうすると欲しくなるのが、iPhone用スタンドだ。

Amazonをぐるりと一回りすると、それこそ掃いて捨てるほどの
iPhone用スタンドが並んでいるが、
選ぶ上で重要になるのが、なにを求めているのかだ。

1:iPhoneを立てた状態で、Dockコネクタ接続が可能である事。
(これが出来ないと、開発をまともに出来ない)
2:Dockコネクタがスタンドと一体化しており、iPhoneの設置、取り外しが容易である事。
(ケーブルを別途接続するとかあり得ない)
3:背もたれ状の部品が付いていて、Dockコネクタへの負担が少なそうな物。
(気休め程度)
4:もちろん、ジャケットを装着した状態で使用可能であること。
5:iPod touchも無理なく設置可能であること。
追加1:角度調整が行えるとなお可
追加2:なるべく安価である事。

この5+2点が選ぶ上でのポイント。
ここまで、要件を定義すると一気に対象が絞り込まれるのだが、
いまいち物欲をくすぐる一品がない。

必要な物品があるのに、欲しいものがない場合、とるべき道は一つだ。
作ってしまえ。

というわけで、週末の息抜きに作ってみた。


材料は、部屋に転がっていたプラ板とプラ棒のみ、
レシピは
1.5mmプラ板がA4版で1/3程度
5mm四角棒 一本、
3mm丸棒が1/3程度
原価的にはトータルとしては、300円未満だろう。

ただし、今回はちょっと気合いを入れて塗装までがんばってしまったため、
サフ+つや消しホワイト+つや消しクリアのそれぞれスプレー缶を購入した。
塗料だけで1500円程度の出費。

標準のDockコネクタを受けの部分に設置すれば、ぐらつきなくしっかりとハマった。
長めに取った背もたれは、設計通りiPhone 4SでもiPod touchでも
コネクタ部分に負荷が架からないよう、しっかりと背中を支えていた。

おおむね、設計通りだったのだが、細かい反省点は多い。
・背もたれの角度調節機構にも、塗装をしてしまったため、受けの部分が狭くなってしまい
角度調整がホイホイと出来る状態ではなくなってしまったこと。
・部材のすべてがプラ板でのフルスクラッチであるため、強度的な面で不安が残る。
・短時間で一気に仕上げてしまったために、(よく見ると)塗装にムラがある。それどころか、所々ハゲてる。

とまぁ、いろいろ問題点は抱えながらも、実用的には問題ないレベルに仕上がった。
次の目標は、剛性と定置性の確保だ。
そうすると、次に手を出すべきは部材の金属化かなぁ〜。