月別アーカイブ: 2010年6月

lightboxをiframeと組み合わせて使う

lightboxという、Ajaxを利用して画像を表示するライブラリがあります。これを利用することにより、見た目がとてもかっこよく画像が表示されるようになります。使い方も簡単で、HTMLのヘッダ部分でjavascriptのライブラリとcssを読み込むように指定して、Aタグのrel属性にlightboxの文字を記述するだけで利用できます。

この前仕事でlightboxを使って、インラインフレーム内でサムネイル画像の一覧を表示させて、サムネイル画像をクリックすると、lightboxを使って画面全体に画像を展開するという処理を作成することになったのですが、通常の指定方法では、インラインフレーム内で画像が展開されてしまいました。ネットで検索したところ、Q&Aサイトにフレームの外で表示させるには、target属性で指定してやればよいと書かれ、質問者もそれで解決した、と書かれていたのですが、うまく行きませんでした。また、ほかの情報も探してみたのですが、ある人は不可能と言い切っていたり、またある人は直接メソッドを呼び出してやれば可能だと言っているのですが、いざやってみようとするとバージョンの違いでメソッドが変わっていてできなかったりということがあったので、私が解決した方法を書いておきたいと思います。

以下の方法はlightboxのバージョンが2.04の場合になります。

iframeタグ内でサムネイル画像を表示させ、サムネイル画像をクリックした際に画面全体に表示できるようにするために、iframeタグの外に画面上には表示されないAタグのリンクを作成します。HTMLのヘッダ部分でjavascriptのライブラリとcssを読み込む指定が済んでいることを前提にします。


<a href="画像Aのパス" name="photo_a" rel=”lightbox”></a>
<a href="画像Bのパス" name="photo_b" rel=”lightbox”></a>

Aタグの間には何も記述しないようにします。インラインフレーム内のサムネイル画像に付けられたAタグからは、javascriptで上記のAタグをクリックするように記述します。


<iframe>
<a href="javascript:document.parents.photo_a.click();" ><img src="画像Aのサムネイル"></a>
<a href="javascript:document.parents.photo_b.click();" ><img src="画像Bのサムネイル"></a>
</iframe>

とりあえずこの方法で解決することができました。

おかげさまで200ダウンロード!

つい最近公開した自作iPhoneアプリ(Old_Time_Clock)なのですが、公開してからまだ一週間経過していないのにもかかわらず、すでに200回以上ダウンロードしていただいてます。

ありがとうございます。

バージョンアップや、新たなアプリの開発についても考えていきたいと思っていますので、今後ともよろしくお願いいたします。

作成したiPhoneアプリ(Old_Time_Clock)が公開されました。

Old_Time_Clock

初めて作成したiPhoneアプリがAppStoreにて公開されました。

Old_Time_Clockと言います。

現在時刻に合わせて江戸時代の時刻を表示してくれるアプリになります。このアプリを使えば、丑三つ時など、テレビの時代劇や歴史小説に出てくる昔の時刻がおおよそ現在の何時にあたるのかが分かります。画面に表示されるイラストは時刻によって変化し、背景は表示させた時期によって変化します。

もしよければ使ってみてください。

iPhoneアプリを作成してみた

最近iPhoneアプリを作成してみたいと思い、Macを購入して、Objective-Cを覚え、Xcodeでアプリを作成し、自分の持っているiPod touchで動作確認をおこない、ようやくAppStoreで公開するための申請を行うところまで漕ぎ着けることができました。Windowsで開発を行うのとは少し勝手が違いました。開発を行う過程で、私が少し考えさせられた点は、

  • WindowsとMacのOSの違い
  • Objective-Cの記述方法の違い、それとIDEの使い勝手の違い
  • 日本語の情報がWindows上での開発に比べると少ない気がする
  • アプリを登録するのも疑心暗鬼

上記4つの点です。

まず一つ目のWindowsとMacのOSの違いの点なのですが、Macを使い始めるまでは、細かいところが違うだけで、ほぼ同じ感覚で使うことができるだろうと思っていました。実際に使い始めてみて、確かに「ほぼ同じ」ではあるのですが、例えばWindowsではdeleteキーとbackspaceキーがあるのに、Macではbackspaceキーが存在していなかったり、半角英数入力からひらがな入力に切り替える際にWindowsとは異なっていたりなど、そのような細かいところが慣れないうちは毎回「どうすればいいんだっけ?」と考えさせられました。あと、Windowsではどのソフトを使えばとんなことができる、ということがすぐに思いついたりするのですが、Macで同じことをするにはどのソフトを使ったらよいのかまだすぐに思いつかないところがあります。これは自分の中でしばらく続くのではないかと思っています。

二つ目のObjective-Cの記述方法の違い、それとIDEの使い勝手の違いに関して。私は以前C言語でプログラムを組んでいたので、Objective-CはC言語に近いということで楽に覚えられるのではないかと思っていたのですが、Objective-Cは独特な記述方法を含んでいて、すんなりとは覚えられませんでした。またiPhoneのアプリを作成するためのIDEであるXcodeも、私が利用したことのあるVisualStudioやBorland C++ Builderでは、インターフェイスを作成した後、配置したボタンなどをクリックすると、ボタンをクリックした際のイベントがソースに記述され、後は穴埋め式に処理を追記していけばよかったのですが、Xcodeは少し違っていて、まずソースにイベントを記述した上で、InterfaceBuilderを使って関連付けを行うという作業の流れになっていて、最初はすんなり理解できませんでした。私はこのすんなり理解できない問題の解決策として、作成したいものはiPhoneアプリなのですが、ちょっと回り道をして、Objective-Cの本を一冊勉強して、Objective-CとXcodeの使い方を十分理解してから、iPhoneアプリの開発について書いてある本を読みました。iPhoneアプリについて解説している本は、Objective-Cについて、XCodeの使い方、iPhoneの魅力的な機能を実装するための方法をかけ足で教えようとしているものが多いので、消化不良を起こしてしまう人も多いのではないかと思います。そのような場合にはObjective-Cの本を一冊勉強してみるのもよいかと思います。

三つ目の日本語の情報がWindows上での開発に比べると少ない気がするという点について。iPhoneアプリを開発する以前は、開発する内容にもよるのかもしれませんが、分からないことがあってネットで調べる際、ほとんどの情報は日本語で調べて解決することができました。しかしiPhoneアプリ開発に関しては、英語の情報にヒットしたり、英語の情報を読まざるを得ない場面に遭遇することが多い気がします。公式の情報は特に英語率が高いです。

四つ目、アプリを登録するのも疑心暗鬼という点なのですが、iphone developer programのサイトはほとんど英語で書かれています。年間参加費を払って、初めてログインする際にApple IDに関する登録情報が日本語で登録されていたために引っかかったり、アップルのサポートの方の助けを借りて無事にログインできた後も、実機での動作確認を行う際にうまくいかず、ブログを検索していると、ブログを書いている人によって説明している内容が違っていたり、AppStoreへの登録手順が情報サイトに懇切丁寧に書かれていたので、その情報を参考にして登録作業をを進めていると、途中からサイトの画面遷移が変わっていて、結局は自分の勘に頼るしかなかったりと、最後まで「これでいいのかな?」と考えさせられながら、普段使わない部分の脳みそを使いながら進めた登録作業でした。

以上、長々と書きましたが、以上四点が自分のiPhoneアプリ開発の過程で考えさせられた点です。これからiPhoneアプリ開発に挑戦する方の参考になれば幸いです。