サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
yoheim.hatenadiary.org
こんにちは、@yoheiMuneです。 今日は、UIViewを使ったアニメーションを学んだので、ブログに残しておきたいと思います。 アニメーションを使い始める アニメーションを簡単に使うには、UIViewを使うと良いようです。Core Animationというアニメーションを詳細に扱えるフレームワークもありますが、まずは簡単に使うなら、UIViewから入ると良いのではないでしょうか。 UIViewでのアニメーションは、ブロックベースメソッド(iOS4以降)と、Begin/Commitメソッド(iOS3.2 or それ以前)の2種類が用意されているようです。今回は、Begin/Commitメソッドを利用します。ブロックベースメソッドは今度いつか(*´∇`*) UIViewでアニメーション可能な対象 UIViewのメソッドでアニメーションが行える対象は、以下のようです。 frame ビューの位
XCODEでiPhoneアプリケーションを開発&リリースして便利な世の中を目指す!という目的のもと、今日は、タッチイベントについて学んで実装してみたので、それを書きます。 View上でタッチされた事に反応するには、UIResponderクラスのメソッドを利用する。 ○ touchesBegan:withEvent: タッチイベントが始まったときに呼び出されるメソッド ○ touchesMoved:withEvent: ドラッグされ手いるときに呼び出されるメソッド ○ touchesEnded:withEvent: タッチが終了したときに呼び出されるメソッドUIResponderクラスはiPhoneの画面を作成する上でよく使うUIViewやUIViewController が継承している親クラスです。UIResponderクラスのメソッドを任意の子クラスでオーバーライドする事で、独自にタッチ
今日はiPhoneアプリケーションからメールを送信する方法を記載します。今回利用するメール送信方法は、「MFMailComposeViewController」クラスを利用する方法です。 画面からのメール送信方法は、以下の通り。「mail」ボタンを押す事で、メール送信画面へ移動します。メール送信画面では、メールを送信するかキャンセルすると、もとの画面に戻ってきます。 (メール画面を呼び出す画面例↓↓↓) (メール画面例↓↓↓) メール送信画面を開くための実装は以下です。 MFMailComposeViewController *vc = [[MFMailComposeViewController alloc] init]; [vc setMailComposeDelegate:self]; [vc addAttachmentData:pdfData mimeType:@"applicati
こんにちは、@yoheiMuneです。 今日は、iPhoneアプリケーションで広告(iAD)を表示する方法を学んだので、ブログに書きたいと思います。 iPhoneで表示する広告とは 最近の無料アプリでよく見る広告。画面の上や下にちょっとした幅を取って、広告を表示する事が出来ます。iADというそうです。 例えば下の画面では、画面の下部分に広告を表示しています。今回はこの広告表示を行います。 広告は表示したりすることで、広告掲載した人が儲かる仕組みです。どれくらい儲かるかは、アプリ制作者次第(*´∇`*) まずはiADを使うためのユーザー登録 iADを使うには、iTunesConnectにユーザー登録する必要があります。その際に、iPhone Developer登録したアカウントでユーザー登録する事で、iADを使う準備が出来ます。以下サイトから、登録出来ます。 http://developer
こんにちは、@yoheiMuneです。 今日は、画像ビュー(UIImageView)などを、簡単に移動・拡大縮小・回転を行う、アフィン変換を学んだので、ブログに残しておきたいと思います。 アフィン変換とは アフィン変換とは、wikiでは以下のように話が始まっています。 幾何学におけるアフィン写像(アフィンしゃぞう、英語: affine map)はベクトル空間(厳密にはアフィン空間)の間で定義される、平行移動を伴う線型写像である。wikipedia:アフィン写像 はい。難しい。数学的なお話は、なかなか理解出来ない。色々と値を変化させると、その値によって、対象図形が移動したり、回転したり、大きくなったりするようです。 でも、良いんです。iPhoneアプリ開発では、アフィン変換用の便利な関数がたくさん用意されています。 それを使えば、簡単にできます。 iPhoneで用意されているアフィン変換 以
こんにちは、@yoheiMuneです。 今日は、UIViewの背景色を透明にする方法を学んだので、ブログに残しておきたいと思います。今日はライトなネタ(*゚▽゚)ノ 背景色透明のViewを作成する 背景色透明のViewを作成すると、一つ下のViewの表示内容も見えるようになり、アプリケーションとしての表現力が向上するのではないでしょうか。 例えば、描画アプリの場合には、レイヤーという考えを、背景色透明なVIewで実現することが出来ます。 実装方法は簡単。以下のようにすれば出来るようです♪(´ε` ) - (void)viewDidLoad { [super viewDidLoad]; // 背景色を透明にしたいUIViewのインスタンスを作成する UIView *aView = [[UIView alloc] initWithFrame:self.view.frame]; // opaqu
こんにちは、@yoheiMuneです。 今日は、iPad専用のPopOverControllerの使い方を学んだので、ブログに残しておきたいと思います。 PopOverControllerとは 以下画像のようなユーザーインターフェースです。画面の一部を覆うようなViewが出現して、その中で表示したり、ユーザーに選択してもらったりするユーザーインターフェースです。 このPopOverControllerは、PopOver部分以外をユーザーがタップすると消えるようになっています。そのため、モーダルViewよりもユーザーに使いやすい(ユーザーが行動を選択しやすい)インターフェースです。 パスワード入力などの必須操作の場合には、モーダルViewを使ってユーザー操作をブロックするのが良いかもですが、ユーザーに任意の操作を選択してもらう場合には、PopOverを使うのが良いのかと思います。 PopOv
本日は、画像(UIImage)をアルバムに登録する処理を書きたいと思います。 忘れないようにメモめも。 保存するには以下の関数を利用します。 ○ UIImageWriteToSavedPhotosAlbum 保存方法はカンタン。以下のようなコーディングをします。 // 保存するメソッド - (void) save { UIImage *image = [self.canvasView UIImage]; SEL sel = @selector(savingImageIsFinished:didFinishSavingWithError:contextInfo:); UIImageWriteToSavedPhotosAlbum(image, self, sel, NULL); } // 保存完了を通知するメソッド - (void) savingImageIsFinished:(UIImage
本日は、iPhoneアプリケーションで方角を取得する方法を学んだので、ブログに残したいと思います。ナビアプリとかとかで方角取得処理は必要になりそうです。 2つの方角 iPhoneで方角を取得する場合には注意が必要です。方角には2つあります。1つは地図上の北を表す方角(true north)、もう1つは磁石が北を示す方角(magnetic north)です。地図上の方角を取得するにはGPS機能が必要です。磁石が示す方角を取得するにはMagnetMeterが必要です(iPhone4に装備)。 方角取得のための前準備 方角取得のためには、CoreLocation.FrameworkのCLLocationManagerクラスとCLLocationManagerDelegateプロトコルを利用します。そのため以下の準備が必要です。 1、CoreLocation.Frameworkをアプリケーションに
こんにちは、@yoheiMuneです。 今日は、iPhoneアプリで画像などをドラッグする方法を学んだので、ブログに残しておきたいと思います。 ドラッグを感知するUIGestureRecognizer ドラッグを簡単に感知する方法として、UIGestureRecognizerのうちUIPanGestureRecognizerを利用します。UIGestureRecognizerについては、『UIViewにタップした際のイベントを登録する』を参考にしてみて下さい。 今回は、以下のような画面を使います。背景白色のUIViewの上に、UIImageViewを乗せます。今回は、ユーザーのドラッグ操作に合わせて、UIImageViewの位置を変更してみました。 UIPanGestureRecognizerの動作を登録する 背景白色のUIView上で、ユーザーがドラッグをした場合に、指定したメソッドが呼
こんにちは、@yoheiMuneです。 今日はライトなネタを。 Webページを作成する際に、要素の高さを固定して、内容量によってはスクロールして表示させる事があるかと思います。そのスクロールの上げ下げをJavaScriptで操作する方法を調べたので、ブログに残しておきたいと思います。 Webページ内のスクロールする要素 Webページ内で、以下のような要素を見た事は無いでしょうか。高さが固定されていて、表示内容がたくさんある場合には、スクロールして内容を全て見るやつです。 こんにちは。 この文章を最後まで読むには縦スクロールする必要があります。 あああ いいい ううう えええ おおお 最後までスクロール頂きありがとうございます。 <div id="area" style="width:300px; height:100px; overflow:auto; border:1px solid #
こんにちは、@yoheiMuneです。 今日は、iPadでImagePickerを使う方法を学んだので、ブログに残しておきたいと思います。 iPadで、iPhoneのようにImagePickerを開こうとすると エラーが発生するんです。iPhoneでは、フォトアルバムから写真を取得したり、カメラから写真を取得するには、以下のように実装するかと思います。 UIImagePickerController *imgPicker = [[UIImagePickerController alloc] init]; // 取得元を設定する。今回の場合は、フォトライブラリを指定しています。 imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; imgPicker.delegate = self; // モーダルビューで
今日はiPhoneアプリケーションでマップを利用する方法を学んだので、ブログに残したいと思います。マップは最初から登録されているマップアプリを代表に各種アプリで使われており、またWeb上でも利用されていて、ユーザーにとって馴染みの深いインターフェースですね。だからより使いやすいインターフェースが求められるかも。今日は簡単なところから。 今回作成した画面はこんな感じです。マップを表示後に、ユーザーの位置を特定し、その位置を中心に表示するという画面です。 マップアプリを作成するためには マップを画面に表示するのはとても簡単。Interface BuilderでMapViewを追加すれば、画面にマップが表示されます。でもアプリケーションならばマップの操作が通常必要になるかと思います。今回は、マップの表示位置変更、ズーム、ユーザー位置表示を実装してみました。 準備事項 マップアプリを利用するために
今日は位置情報から地図情報(住所とか)を取得する方法を学んだので記載したいと思います。 地図情報を取得するとは 位置情報(経緯度)の取得は、CLLocationManagerを使って実現できます。でもその情報ってユーザーからすると分かりづらい。経緯度を地名に変換する事でユーザーフレンドリーな情報に変換する。それが地図情報の取得です。下の図は地図情報を取得した例(浦安駅近くのミスドの場所)です。国名、都道府県、市町村、丁番号まで取得できるようです。 前準備 地図情報を取得するために以下の準備が必要です。ヘッダファイルの実装例を示します。 1、Mapkit.frameworkをアプリケーションに追加する。 2、ヘッダファイルにMapkit.frameworkをインポートする。 3、位置情報取得時に利用するデリゲート「MKReverseGeocoderDelegate」をクラスに設定する。 #i
こんにちは、@yoheiMuneです。 今日は、UIViewを拡張せずともタッチイベントを登録する方法を学んだので、ブログに残しておきたいと思います。 UIViewクラスのaddGestureRecognizer:メソッド このメソッドでジェスチャーを追加することで、Viewをタップした際の動作を追加することが出来ます。以下のような手順で実装します。 UITapGestureRecognizerオブジェクトを作成 どのような動きをするかのジェスチャーオブジェクトを作成します。今回はTapジェスチャーを追加します。 UITapGestureRecognizer *tapGesture = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(colorPicker:)]autorelease]; initW
こんにちは、@yoheiMuneです。 今日は、iPhone/iPadアプリケーションで、デバイスの回転に独自に対応する方法を学んだので、ブログに残しておきたいと思います。 まずはデバイスの回転を感知して、必要に応じて各種アイテムを回転させる デバイス回転を独自に感知するには、UIDeviceクラスとNSNotificationCenterクラスを利用します。詳しい利用方法は、"iPhoneの向きを特定するもう一つの方法"を参考にしてみて下さい。 デバイスが回転したら、特定のメソッドが呼び出されるように設定します。 // ViewControllerの実装にて - (void)viewDidLoad { [super viewDidLoad]; // デバイスの回転を開始する [[UIDevice currentDevice] beginGeneratingDeviceOrientatio
こんにちは、@yoheiMuneです。 今日は、ピンチジェスチャーを行った場合に、UIImageViewなどのサイズを拡大/縮小する方法を学びましたので、ブログに残したいと思います。 ピンチジェスチャーで、画像の拡大を簡単に行う ピンチジェスチャーとは、2本指で画面に触れ、2本指が離れる方向にドラッグするジェスチャーです。GooglMapや、写真アプリで画像の拡大/縮小に使う、あれです!! ピンチジェスチャーで拡大/縮小を行う方法として、UIGestureRecognizerのうち、UIPinchGestureRecognizerというピンチジェスチャー用のGestureRecognizerを使います。UIGestureRecognizerについては、"UIViewにタップした際のイベントを登録する"を参考にしてみて下さい。 今回は、以下のような画面を使います。画面上でピンチジェスチャーを
こんにちは、@yoheiMuneです。 今日は、HTML5から新しく追加されたinput要素のスライダーを試してみたので、ブログに記載したいと思います。 HTML5から追加されたスライダーを利用したインターフェース 今迄のHTMLでもラジオボタンやチェックボックスなど、様々なUIが提供されていました。しかし、デスクトップアプリケーションやiPhoneに搭載されたスライダー要素はありませんでした。スライダーは、指定された範囲から値を選択する際に、ユーザーがより簡単に値を選択する事のできるUIではないかと思います。これが使えるようになるとちょっと便利になるかも。 (スライダーの例) 0 http://www.yoheim.net/labo/webparts/slider.php スライダーの使い方 スライダーは、inputタグで作成出来ます。「type="range"」と指定する事で、スライダ
こんにちは、@yoheiMuneです。 今日は、iPhoneのSafariにて、iPhoneアプリのように加速度センサーを使う方法を学んだので、ブログに残しておきたいと思います。 加速度センサーとは 加速度センサーとはその名の通り、iPhoneが移動した際の加速度を検知するセンサーです。加速度とは、メートル/秒×秒の値であり、加速度が正数であれば速度が増している状態であり、加速度が負数であれば速度が減速している状態。加速度については、wikipedia:加速度も参照してみてください。 iPhoneのSafariブラウザで加速度センサーを使う場合には、iOSが4.2以上である必要があります。 加速度センサーの使い方 iPhoneのSafariで加速度センサーを使うには、以下のようなJavaScriptを記載します。 window.ondevicemotion = handling; func
こんにちは、@yoheiMuneです。 今日は、スマートフォンのWebページで、タッチイベントを取得する方法をブログに残しておきたいと思います。 スマートフォンのタッチイベント スマートフォンではマウスの代わりに指を使って画面を操作しますよね。Web画面上でも指でタッチするかと思いますが、タッチしたイベントを取得、タッチした位置情報などを取得する方法を学ぶと、面白いWebページが作成出来そうです♪(´ε` ) タッチイベントの種類 タッチイベントには3種類存在するようです。 ontouchstart タッチ開始時のイベント ontouchmove タッチして移動した時のイベント ontouchend 指が画面から離れた時のイベント 例えば、以下のようにイベントを設定します。 window.addEventListener("load", function(){ document.body.
こんにちは、@yoheiMuneです。 今日はWebサイトにおいて、PCやスマートフォンによってページの内容を変える実装に取り組んでみました♪(´ε` )面白いですね。今回はとりあえずJavaScriptを利用してみた。今後はPHPやJavaでもやってみようかと思います。 ユーザの利用する端末によってページ内容を変えるとは Webページで同じURLなのに、PCで見る時とスマートフォンで見る時で、ページの内容やレイアウトが変わるページがあるかと思います。それです。その実現方法は、PHPやJavaといったサーバーサイドプログラムで、アクセスしてきたのがPCかスマートフォンかを見極める事も出来ますし、JavaScriptのようなクライアントサイドプログラムで見極める事も出来るようです。 今回は、JavaScriptを利用して、スマートフォンからのアクセスの場合に、メッセージを表示するサンプルを作
大変な時期ですが、今日からブログは再開したいと思います。 本日はiPhoneで位置情報を取得する、もう一つの方法を記載したいと思います。 普通、位置情報を取得する際には、CLLocationManagerクラスの「startUpdatingLocation」メソッドを用います。使い方の詳細は『XCODE-iPhone 位置情報を取得するには』を見てみてください。 今回は、「Sgnificant-Change Location Service」というサービスを利用します。 Sgnificant-Change Location Serviceとは iOS4.0以降で利用できる位置情報取得サービスです。このサービスは通常の位置情報取得サービスに比べ、電池消費量を抑えながら多くのアプリケーションに必要な精度の位置情報を提供してくれます。このサービスはデバイスが利用する電話の基地局を利用して位置情報
HTML5で音を再生する。それはaudioタグを使うだけの簡単な実装で実現出来ました。HTML5は実際に触ってみて思いましたが、簡単に実装出来て、初心者に優しいのかも。以下のサンプルは一部動作しないブラウザがあるかもしれません。音声ファイルを1種類しか用意していないから。ChromeとSafariの最新版では動作しました。 http://www.facebook.com/pages/HTML5Learners/204670386227533 audioタグの記載はこんな感じ。 <audio id="audio1" controls> <source src="st001.mp3"></source> <p>HTML5 Audioに対応したブラウザでご利用ください</p> </audio> audioタグと音声ファイルを指定するsourceタグ。これを記載する事で音再生の準備ができます。再生
今日は、iPhoneアプリケーションで場所を取得する方法を学んだので記載したいと思います。CLLocationManagerクラスを利用しますが、そのクラスへの設定情報の種類も記載しました。 こんな画面です。 「Start」ボタンを押す事で位置情報取得を開始し、「Stop」ボタンを押す事で位置情報取得を終了します。位置情報を取得したら随時、ラベルに表示します。 事前準備 位置情報取得のサービスを利用するには、CoreLocationFrameworkが必要です。XCODEプロジェクトに「CoreLocation.framework」を追加します。また利用するクラスのヘッダファイル(例:LocationViewController.h)で、「#import 」を記述し、CoreLocationFrameworkをインポートします。 また、位置情報取得したときに動作を行いたいため、「CLLoc
現在iPhoneアプリの開発奮闘中。今日は『iPhoneAppProgrammingGuide.pdf』を読んで、ファイルシステムについて学びました。学んだ事を書きたいと思います。 iPhoneアプリケーションは、サンドボックスという構造で各種ファイルを保持しています。フォルダによってiTunesでバックアップされるされないや、何を置くべきという指針があるようです。以下文章中にある引用は、全て以下ドキュメントからの引用です。iOS Application Programming Guide サンボボックスとは For security reasons, iOS restricts each application (including its preferences and data) to a unique location in the file system. This restri
iPhoneのローカル通知機能を実装してみました。朝起きて時間があったのでお勉強にしてみました。 ローカル通知機能って、アプリケーションを起動していなくても何かのタイミングでポップアップが出るあの機能。メールとか届くとポッと出てくるやつです。 ローカル通知機能を実装するには、以下のクラスを利用します。 「UILocalNotification」 このクラスのインスタンスを生成し、色々と設定し、UIApplicationにそのインスタンスを設定する。カンタンな手順で実装できます。 実装例: // ローカル通知を作成する UILocalNotification *notification = [[UILocalNotification alloc] init]; // 通知日時を設定する。今から10秒後 NSDate *date = [NSDate dateWithTimeIntervalSi
apacheファンデーションのDerbyというDBを使ってみたので、使い方とかをメモに残します。 IBMから寄贈されたDBで、Javaで作られている。 組み込みとクライアント/サーバの2種類の方法で使える。 軽い。空のDBを作るってみたら、1.75MBだった。 設定が簡単。環境変数を3つほど設定すれば使えました。 ダウンロード&インストール ダウンロードは、以下のサイトから出来ました。 http://db.apache.org/derby/derby_downloads.html 上記のサイトで、「db-derby-10.x.x.x-bin.zip」をダウンロードして、適当なディレクトリに解凍する。 これでインストール完了。 環境設定 環境パスに、以下3つを設定する。 1、%DERBY_HOME%を設定する。上記で解凍したディレクトリが「C:\derby.10.6.1.0」の場合、「%DE
このページを最初にブックマークしてみませんか?
『yoheim.hatenadiary.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く