タグ

ブックマーク / blog.syuhari.jp (7)

  • iPhone/iPad で各種ファイルを QuickLook する | Sun Limited Mt.

    iOS4.0 から使える Quick Look フレームワークを試してみました。 画像、PDFHTML、iWorks、MSOffice などのファイルのプレビューをしたり、印刷やファイル形式によって対応している他のアプリで開いたりすることができます。 UITableViewController などと同じようにデータソースを指定して、プレビューさせるファイルがいくつあるか、indexPath で指定されたファイルのファイルパスを返すなどを実装すれば簡単にプレビュー画面を作成できます。 #import QLPreviewController* previewController = [[QLPreviewController alloc] init]; previewController.dataSource = self; previewController.delegate = sel

  • [iPhone] MapKit にアイコン画像でピンを立ててタップ可能にする | Sun Limited Mt.

    MapKit を使用してい以下のことをやってみます。 アイコン画像でピンを立てる ピンをタップするとバルーンを表示する バルーンのアクセサリをタップ可能にする アノテーションクラス ピンを立てるにはアノテーションというプロトコルを使用します。このプロトコルを持ったクラス MyAnnotation を作成します。バルーンには左右に View とタイトルとサブタイトルを表示することができます。左右に表示する View は後で説明する MKAnnotationView に設定しますが、タイトルとサブタイトルは MKAnnotation プロトコルを持つクラスに設定します。 #import <Foundation/Foundation.h> #import <MapKit/MapKit.h> @interface MyAnnotation : NSObject <MKAnnotation> { C

  • Xcode のブレークポイントを条件判定して止める方法 | Sun Limited Mt.

    Xcode のブレークポイントを条件判定を指定して条件に合った時だけ止める方法です。 例えば以下のコードのように1000回ループを回す処理があったとします。 for (int i=0; i<1000; i++) { NSLog(@"i=%d", i); } このループの500回目、つまり i==500 の時だけブレークポイントで止める方法になります。 NSLog の行にブレークポイントを設定して、コンテキストメニューから「ブレークポイントを編集」を選択します。 ブレークポイントの条件を指定します。今回は i==500 を指定しました。 これで実行すると、ループ処理で毎回止まることなく i==500 のときのみ止めることができます。 値を監視するとかはよく使っていたのですが、この条件判定で止める方法は知りませんでした。以下のを読んで初めて知りました。まだまだ勉強不足です。 関連する投稿 B

  • [iPhone] UITableViewCell の背景を透過させる | Sun Limited Mt.

    まず、下記のサイトを参考にカスタマイズした UITableViewCell を作成します。 Interface Builderを使ってカスタマイズしたUITableViewCellを作る方法(追記あり) – 24/7 twenty-four seven 作成した UITableViewCell に UIVew を追加して、backgroundView を関連づけ、backgroundView に setBackgroundColor: で clearColor を設定すればセルの背景色が透過します。 [cell.backgroundView setBackgroundColor:[UIColor clearColor]]; 追加した UIView はセルの大きさと同じにするか一回り大きくして、XY 座標で (-2,-2) とか調節する。UIView の位置で縦縞がずれたりするのでその辺は微

  • [iPhone/iPad] メールの添付ファイルをアプリケーションで開けるようにする | Sun Limited Mt.

    iPhoneiPad のメールで添付ファイルをアプリケーションに取り込む方法です。 扱えるファイルを指定する アプリケーションで扱えるファイルタイプを info.plist で指定します。例えば PDF を開けるようにしたい場合は以下のようにします。 ただ、plist エディタだと設定が面倒なので、info.plist ファイルを右クリックして「形式を指定して開く」から「ソースコードファイル」を指定して XML で直接指定した方が簡単です。 <key>CFBundleDocumentTypes</key> <array> <dict> <key>CFBundleTypeName</key> <string>PDF</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</

  • [iPhone/iPad] UIGestureRecognizer でジェスチャーを識別する | Sun Limited Mt.

    iOS3.2 で追加された UIGestureRecognizer を使うと様々なジェスチャーを簡単に識別することができます。ただし、iOS3.2 以降で利用可能なので使用する際には注意が必要です。iPad アプリなら問題ないです。識別できるジェスチャーは以下のとおりです。 タップ ピンチ パン(ドラッグ) スワイプ ローテイト ロングプレス ローテイトは2指でタッチして回転させることです。1指でタッチして回転させてもパン(ドラッグ)としてしか認識されません。 使い方はそれぞれのインスタンスを作成して、ジェスチャーを認識したときに呼ぶアクションを指定して、そのアクションでジェスチャー認識時の処理を行います。 タップ numberOfTapsRequired に認識するタップ数を指定します。デフォルトは1です。 // シングルタップ UITapGestureRecognizer* tap

  • [iPhone] UIWebView のリリース前に delegate に nil をセットする必要がある | Sun Limited Mt.

    UIWebView のインスタンスに delegate を指定している場合は以下のように release する前に delegate に nil をセットする必要があります。 - (void) viewDidLoad { webView = [[UIWebView alloc] init]; webView.delegate = self; .... } - (void)dealloc { webView.delegate = nil; [webView release]; } アップルのマニュアルにも以下のように書かれています。 Important: Before releasing an instance of UIWebView for which you have set a delegate, you must first set its delegate property to

  • 1