タグ

XCODEに関するyoheiMのブックマーク (37)

  • [XCODE] UITextFieldの×ボタンをカスタマイズする方法 - YoheiM .NET

    こんにちは、@yoheiMuneです。 今日は、UITextFieldのカスタマイズネタで、 ×ボタン(削除ボタン)をカスタマイズする方法をブログに書きたいと思います。 UITextFieldの×ボタンをカスタマイズするのは簡単で、UITextFieldのrightViewというものを用います。 以下のような感じに実装すると実現することが出来ます。 -(void)customizeDesign { // UITextFieldを作成する textField = [[UITextField alloc] initWithFrame:CGRectMake(44, 7, (320 - 44 - 44), 29)]; // textFieldの右に×ボタンを置く textField.clearButtonMode = UITextFieldViewModeWhileEditing; UIButto

    [XCODE] UITextFieldの×ボタンをカスタマイズする方法 - YoheiM .NET
    yoheiM
    yoheiM 2013/08/22
    UITextFieldの×ボタンのカスタマイズ
  • [XCODE] UITextFieldでパディングを持たせる方法 - YoheiM .NET

    こんにちは、@yoheiMuneです。 UITextFieldを普通に使うと、左側に余白とかがなくてちょっと使いづらい場合も。。 今回はそんな問題を解決する為に、UITextFieldに余白を持たせる実装方法をブログに書きたいと思います。 普通にUITextFieldを使うと 普通にUITextFieldを使うと、例えば以下のような表示になります。 角丸のスタイルを指定すれば余白もいい感じに取ってくれるのですが、それ以外のスタイルを選ぶと余白が無かったりします。 (角丸の場合はインセットシャドウがきついとか好みに合わず、スタイルなしのUITextFiledにせざる得ないとかある)。 その場合に余白を設定したいというのが今回の内容です。 UITextFieldの左側に任意のサイズの余白を設定する UITextFieldの左側に余白を設定するのは簡単で、UITextFieldの機能を使うことで

    [XCODE] UITextFieldでパディングを持たせる方法 - YoheiM .NET
    yoheiM
    yoheiM 2013/08/21
    UITextFieldでパディング
  • [XCODE] 複数のUIImageを結合して、1枚のUIImageを生成する - YoheiM .NET

    こんにちは、@yoheiMuneです。 日はかなりマイナーネタですが、UIImageを結合する実装方法をブログに書きたいと思います。 UIImageを結合する処理とは 複数のUIImageを結合する処理とは、複数のUIImageを結合して1枚のUIImageにしたいというお話です(そのままですね。。)。 この処理が必要になった場面としては、Objective-Cでスクリーンショットを取得する方法のブログで言及した内容で、「スクリーンショットを取得した際に、ステータスバー部分の画像が取得できない。なので、ステータスバー部分は別画像として用意しておいて、スクリーンショット画像と合成する」というお話でした。 今回の実装では、以下のスクリーンショット画像と、ステータスバー画像を合成します。 (スクリーンショット画像) (ステータスバー画像) 合成する処理 合成する処理は簡単で、以下のように合成し

    [XCODE] 複数のUIImageを結合して、1枚のUIImageを生成する - YoheiM .NET
    yoheiM
    yoheiM 2013/07/17
    UIImageを結合する
  • [XCODE] Objective-Cでスクリーンショットを取得する方法 - YoheiM .NET

    こんにちは、@yoheiMuneです。 「ロックボタン + ホームボタン」の同時押しで取得できるスクリーンショット。 それをObjective-Cのプログラムから取得する方法をブログに書きたいと思います。 画面全体のスクリーンショットを撮る 取得可能なスクリーンショットは大きく2種類で、まずは1つ目を紹介します。 1つ目は、「ロックボタン + ホームボタン」の同時押しで取得できるスクリーンショットとほぼ同じ物を取得できる実装方法です。 以下のように実装します。 // 必要なライブラリを読み込みます #import <CoreGraphics/CoreGraphics.h> #import <QuartzCore/QuartzCore.h> 〜〜 省略 〜〜 // キャプチャ対象をWindowにします。 UIWindow *window = [[UIApplication sharedApp

    [XCODE] Objective-Cでスクリーンショットを取得する方法 - YoheiM .NET
    yoheiM
    yoheiM 2013/07/16
    スクリーンショット
  • [XCODE] 数値を3桁区切りにフォーマットする - YoheiM .NET

    こんにちは、@yoheiMuneです。 今日はニッチなネタですが、Objective-Cで数値を3桁区切りにフォーマットする方法をブログに書きたいと思います。 3000 => 3,000 まずは簡単なやつです。3000という整数値を3桁カンマ区切りにします。 この実装は以下のように簡単に行うことが出来ます。 // フォーマット前 NSString *integralPart = @"3000"; // フォーマット処理 NSNumberFormatter *f = [[NSNumberFormatter alloc] init]; [f setNumberStyle:NSNumberFormatterDecimalStyle]; // フォーマット後 NSString *formatString = [f stringFromNumber:[f numberFromString:integ

    [XCODE] 数値を3桁区切りにフォーマットする - YoheiM .NET
  • [XCODE] NSURLConnectionを用いた通信でCookieを簡単に扱う方法 - YoheiM .NET

    こんにちは、@yoheiMuneです。 最近iPhoneアプリ制作で、Cookieを用いた認証管理の方法を実装しました。 実装初期はHTTPヘッダをパースすることでCookieを扱っていたのですが、実は便利な方法があることが判明したので備忘録の意味も込めてブログに残したいと思います。 NSURLConenctionを用いた通信でCookieを扱う 認証が必要なAPIを実行したい場合に認証方法は色々とありますが、1つにCookieを用いた認証の保持があります。 ログインなどの認証で成功したら、レスポンスのクッキーに認証情報が付与されて、その後のリクエストにその認証情報を付与することで認証済みとして扱う方法です。 Webページとかで実装する場合には、Cookieの保存や送信はサーバー側の処理でほとんど自動的に行ってくれますが、iPhoneアプリで通信を実装する場合にはCookieの扱いを扱う必

    [XCODE] NSURLConnectionを用いた通信でCookieを簡単に扱う方法 - YoheiM .NET
    yoheiM
    yoheiM 2013/07/01
    NSURLConnectionでCookieを扱う方法
  • [XCODE] UIWebView上のフォームにObjective-Cから書き込んで、サブミットも行う - YoheiM .NET

    [XCODE] UIWebView上のフォームにObjective-Cから書き込んで、サブミットも行う こんにちは、@yoheiMuneです。 以前お仕事でご一緒させて頂いた方からObjective-Cに関する質問を頂いて、実装する機会があったので、掲題の件についてブログを書きたいと思います。 今回頂いた質問内容 以下のようなご質問を頂きました。 ネイティブアプリ内に内部的に表示しているUIWebViewで、ログインフォームなどのフォームに、Objective-Cからログイン名やパスワードなどを書き込んでサブミットまでする、とかって実現できる? という内容でした。UIWebViewではJSを実行出来るので、その仕組みを使えばいい感じに実現出来そうだなぁということで、実際に試してみました。 今回のブログではその実装を紹介する内容となります。 まずは、UIWebView上で表示するフォーム内容

    [XCODE] UIWebView上のフォームにObjective-Cから書き込んで、サブミットも行う - YoheiM .NET
    yoheiM
    yoheiM 2013/06/28
    UIWebView上でObjecitve-Cからフォーム等に書き込みとコミット
  • [XCODE] iPhoneの画面サイズに合わせて読み込むXib(Nib)を変える方法 - YoheiM .NET

    こんにちは、@yoheiMuneです。 先日リリースした「EasyPost to Zaim」で実装している内容で、iPhoneの画面サイズに合わせて読み込むXibファイルを切り替える実装をブログに書きたいと思います。 iPhoneの画面サイズに合わせて、読み込むXibファイルを変更する 「EasyPost to Zaim」は、Zaimというオンライン家計簿に簡単に出費状況を投稿するアプリで、その投稿機能にこだわって作っています。 こだわりのポイントとしては、1つの画面で操作が完結して、より少ないタップで、より分かりやすいUIで投稿できるようにすることです。 そのため、iPhone5の4インチ端末と、iPhone4S以下の3.5インチ端末では、UIが一部異なる部分があります。 4インチと3.5インチでそれぞれ画面を作る上で、Xibファイルとして以下の2点を用意しました。 FirstViewC

    [XCODE] iPhoneの画面サイズに合わせて読み込むXib(Nib)を変える方法 - YoheiM .NET
    yoheiM
    yoheiM 2013/06/24
    Nibファイルの読み込み切替
  • [XCODE] NSUserDefaultsへ自分で作成したクラスのインスタンスを保存する方法 - YoheiM .NET

    こんにちは、@yoheiMuneです。 日はiOSアプリ開発ネタで、NSUserDefaultsへカスタムクラスのオブジェクトを保存する方法をブログに書きたいと思います。 データの永続化に便利なNSUserDefaults みなさん、NSUserDefaultsという機能を使ってますかーーー? NSUserDefaultsはデータを簡単に永続化できる機能で、テーブル定義とかDBコネクション作成とか面倒な手続きは一切無く、 便利にデータを永続化できる機能です。リファレンスは、こちらです。 NSUserDefaultsでは、Key-valueベースのデータ保存機能で、以下のように使うことが出来ます。 // データの保存 [[NSUserDefaults standardUserDefaults] setValue:@"もじ文字" forKey:@"key"]; // データの取得 NSStr

    [XCODE] NSUserDefaultsへ自分で作成したクラスのインスタンスを保存する方法 - YoheiM .NET
    yoheiM
    yoheiM 2013/05/17
    NSUserDefaultsへカスタムインスタンスを格納する
  • [XCODE] Zaim APIをiOSから利用する方法 - YoheiM .NET

    こんにちは、@yoheiMuneです。 先日、「EasyPost to Zaim」というiOSアプリをリリースさせて頂き、多くの皆様に利用頂いており当にありがとうございます! 日は「EasyPost to Zaim」で利用しているZaim APIについて、iOSから利用する方法を記載したいと思います。 Zaimとは、Zaim APIとは Zaimとはオンライン家計簿ツールで、iOS、Android、Webから利用することが出来ます。(最近Web版もリリースされました)。 オンラインに情報があるので、今までのようにいつでも利用でき、自分の状況に合わせてPCやスマホからデータを入力・参照できて便利な家計簿です。 そしてそのZaimを外部から利用するためのAPIが用意されています。開発者の閑歳さんには大感謝です。 記事では、公開されたZaimのAPIをiOSから利用する方法を記載したいと思

    [XCODE] Zaim APIをiOSから利用する方法 - YoheiM .NET
    yoheiM
    yoheiM 2013/05/08
    Zaim APIをiOSから利用する
  • [XCODE] JavaScriptファイルをXCODEプロジェクトにResourceファイルとして読み込む方法 - YoheiM .NET

    こんにちは、@yoheiMuneです。 今日は超ライトなネタなのですが、XCODEプロジェクトJavaScriptファイルをリソースとして読み込む方法をブログに書きたいと思います。 JavaScriptファイルは通常ではリソースとして読み込めない!? UIWebViewで読み込みたいJavaScriptファイルをXCODEプロジェクトに追加して、以下のように読み込んだのですが、なぜかファイルが見つからないといわれる。 NSString *filePath = [[NSBundle mainBundle] pathForResource:@"ajax_handler" ofType:@"js"]; NSString *js = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:ni

    [XCODE] JavaScriptファイルをXCODEプロジェクトにResourceファイルとして読み込む方法 - YoheiM .NET
    yoheiM
    yoheiM 2013/04/10
    設定しないと読み込めないとは。
  • [XCODE] Objective-Cでdelegateを実装する方法 - YoheiM .NET

    こんにちは、@yoheiMuneです。 今日は、Objective-Cに存在するProtocolという機能を利用して、Delegateパターンを実装する方法をブログに書きたいと思います。 Protocolとは ProtocolとはObjective-Cに用意されt氏組で、JavaのInterfaceに似た仕組みを提供します。 「似ている」という表現を用いるのは、JavaのInterfaceと異なる点が多くあるからです。 違うポイント Interfaceはis-aの関係、Protocolはconfirm toの関係 Protocolでは、定義したメソッドをすべて実装する必要が必ずしもありません。 以下の定義のように@optionalと定義したメソッドは、実装するか否かを選ぶことができます。 @protocol LoginServiceDelegate <NSObject> // @requi

    [XCODE] Objective-Cでdelegateを実装する方法 - YoheiM .NET
    yoheiM
    yoheiM 2013/04/09
    Objective-Cでdelegateを実装
  • [XCODE] UIViewの背景をグラデーションにする方法 - YoheiM .NET

    yoheiM
    yoheiM 2013/04/01
    Objective-C UIViewのグラデーション
  • [XCODE] CAAnimationを使ってキーフレームアニメーションを実装する - YoheiM .NET

    こんにちは、@yoheiMuneです。 今日は、iPhoneアプリでアニメーションを行う方法のうち、CAAnimationを使ってちょっと凝ったアニメーションを実装する方法を、ブログに書きたいと思います。 CAAnimationとは iPhoneアプリではアニメーションを行う方法はいくつか用意されていますが(UIViewベース、CALayerベース、OpenGLESベースなど)、 CALayerベースでアニメーションをさせると、比較的簡単なコードで凝ったアニメーションを行うことが出来ます。 そのCALayerベースでのアニメーションを実現する方法がCAAnimationです。 CAAnimationにはいくつかのアニメーション指定方法が用意されていますが、今回はKeyframeを用いた実装を紹介します。 今回行うアニメーション 今回行うアニメーションは、小さなダイアログが出てきて、少し止ま

    [XCODE] CAAnimationを使ってキーフレームアニメーションを実装する - YoheiM .NET
    yoheiM
    yoheiM 2013/03/21
    CAAnimationでKeyframeを使う
  • [XCODE] ネットワークインジケーターを動かして、UIWebViewが動いていることをアピールする - YoheiM .NET

    [XCODE] ネットワークインジケーターを動かして、UIWebViewが動いていることをアピールする こんにちは、@yoheiMuneです。 今日は、iPhoneのステータスバーにあるネットワークインジケーターの表示/非表示の制御方法をブログに書きたいと思います。 簡単な実装なのですが、ブログにでも書いておかないと毎回アプリ開発で忘れて調べちゃうので、備忘録の意味を込めて。 ネットワークインジケータとは?動かすメリットとは? ネットワークインジケータは、iPhoneのステータスバーに表示されるあやつです。 クルクルっと動いていると、何か通信してるんだなぁとユーザーが感じ取れるUIです。 iPhoneでSafariとかを使っているとよく見るUIですが、iPhoneアプリでは自分で動かそうと思わないと、動かない感じなのです。 特にUIWebViewでは、ページ内のリンクをクリックして新しいペ

    [XCODE] ネットワークインジケーターを動かして、UIWebViewが動いていることをアピールする - YoheiM .NET
    yoheiM
    yoheiM 2013/03/07
    ネットワークインジケーター
  • [XCODE] 処理が終わった際のコールバックをSelectorやBlockで実装する方法 - YoheiM .NET

    こんにちは、@yoheiMuneです。 今日はObjective-Cを用いた実装で、処理が終わった際に呼び出し元を呼び出す方法として、SelectorとBlockの実装をブログに書きたいと思います。 コールバックをSelectorやBlockで実装するとは node.jsやjavaScriptのXHRを用いた実装では一般的なアーキテクチャで、 HTTP通信やファイルIOなどの処理が終わったら、結果を呼び出し元に通知するコールバックの実装をObjective-Cで実装する方法を記載した記事となります。 HTTP通信やファイルIOは時間のかかる処理で、その処理をメインスレッドで行う(=同期で処理する)と、UI描画が止まってしまい、残念なアプリになってしまいます。 それに対応するため、HTTP通信やファイルIOはサブスレッドで行い、終わったら呼び出し元に通知するコールバック型のアーキテクチャがい

    [XCODE] 処理が終わった際のコールバックをSelectorやBlockで実装する方法 - YoheiM .NET
    yoheiM
    yoheiM 2013/03/04
    SelectorとBlockの実装方法
  • [XCODE] UIViewを角丸にする、ドロップシャドウをかける - YoheiM .NET

    こんにちは、@yoheiMuneです。 今日は、UIViewを角丸にしたり、UIViewにドロップシャドウをかけたりする方法をブログに書きたいと思います。 UIViewの見た目を柔軟に変更できるCALayer CALayerというものを使うと、UIViewの見た目をすごく簡単に返ることが出来ます。 掲題の角丸やドロップシャドウの他に、透明度や背景色などもいろいろと指定することは出来るようです。 またCoreAnimationのための機能でもあるため、アニメーションもかけやすいようです。 詳細は、以下のドキュメントが参考になります。 CoreAnimation Programming Guide(日語、PDF) 今回はその中から、角丸とドロップシャドウについて実装してみたいと思います。 作成したViewは以下のような感じとなります。 CALayerを使うための準備 CALayerを利用する

    [XCODE] UIViewを角丸にする、ドロップシャドウをかける - YoheiM .NET
    yoheiM
    yoheiM 2013/02/27
    [CALayer] 角丸、ドロップシャドウ
  • [XCODE] Pocket APIをiOSから利用する - YoheiM .NET

    こんにちは、@yoheiMuneです。 各種SNSヘ連携するコードを良く書いている今日この頃。 今回は、PocketAPIをiOSから利用する方法をブログに書きたいと思います。 Pocketとは Pocketとは旧名:Read It Laterのサービスであり、 読みたいページ(読みかけのページ)のURLを登録することで、「後で読む」ことが出来る機能です。 またPocketが提供しているアプリによっては、登録したURL先のページをキャッシュしてくれて、オフラインでも閲覧することが出来るなど、いろいろと便利なサービスです。 Safariに搭載されたReading Listが似た機能ですが、Pocketを使うとOS問わず利用できるので職場やプライベート関係なく利用できるのがいい点です。 Pocket APIをiOSから利用する方法 Pocket APIを利用するためには、OAuth用のキーを入

    [XCODE] Pocket APIをiOSから利用する - YoheiM .NET
    yoheiM
    yoheiM 2013/02/26
    PocketAPIを利用する
  • [XCODE] EvernoteAPIをIOSから利用する - YoheiM .NET

    yoheiM
    yoheiM 2013/02/25
    EvernoteAPIをiOSから利用する
  • [XCODE] iOSから非同期/同期にHTTPリクエストを送信する方法(Part2) - YoheiM .NET

    こんにちは、@yoheiMuneです。 以前ブログに書いた「iPhoneアプリからHTTPリクエストを送信して、データを受信する方法」で紹介したリクエスト送信方法より便利な送信方法があったので、ブログに書きたいと思います。 iOSから非同期にHTTPリクエストを送信する iOSからHTTPリクエストを送信する方法はいくつかありますが、以前の記事では、 Delegateを実装する必要があっていくかのメソッドを書かなきゃいけなかったので、面倒な感じでした。 今回紹介する方法は、実行結果をブロックの引数で受け取ることができ、いい感じに少ないコード量で実装できます。 以下が具体的な実装例です。 // 送信するリクエストを生成する。 NSURL *url = [NSURL URLWithString:@"http://www.yoheim.net/"]; NSURLRequest *request

    [XCODE] iOSから非同期/同期にHTTPリクエストを送信する方法(Part2) - YoheiM .NET
    yoheiM
    yoheiM 2013/02/21
    HTTPリクエストの送信方法