タグ

ブックマーク / blog.fenrir-inc.com (8)

  • 【 iOS 開発 Tips】View のレイアウトをどうするか?

    こんにちは、共同開発部 iOS アプリ開発担当の図子です。 iOS 開発をしている皆さんはどういったタイミングで View のレイアウトをおこなっていますか?私は1年くらい前までは ViewController の viewWillAppar 等のメソッド内や、ViewController から View へ情報をセットするタイミングで ViewController 側から直接 View の frame やその View が持つ UILabel の frame を触っていたりしていました。これだと、想定外のタイミングでレイアウトが崩れたり、ViewController 側のコード量がふくれあがってしまいがちであまり良くないと思います。また、autoresizingMask を使うと楽ですが少し込み入ったレイアウトが必要になってくると autoresizingMask では対応できなくなって

    【 iOS 開発 Tips】View のレイアウトをどうするか?
    gologo13
    gologo13 2013/12/16
  • UIView を簡単に拡大・縮小・回転させる transform プロパティ

    UIView には、transform というプロパティがあります。このプロパティを使うと簡単に UIView を拡大・縮小・回転させることができます。transform プロバティの型は CGAffineTransform です。transform の中身は 3×3 の行列で、 z 軸の回転行列として扱うことができます。初期値は、単位行列になっています。 拡大・縮小について まずは拡大・縮小から説明します。 sampleView.transform = CGAffineTransformMakeScale(2, 2); このように書くと元のサイズの2倍と大きさになります。 また、以下のように書くと現在設定しているサイズの2倍になります。 sampleView.transform = CGAffineTransformScale(sampleView.transform, 2, 2); こ

    UIView を簡単に拡大・縮小・回転させる transform プロパティ
  • NSProxy を使って UIWebView のイベントハンドリングをフックする

    こんにちは。開発担当の福井です。 突然ですが、みなさん NSProxy をご存じでしょうか? NSProxy は Foundation の中で唯一 NSObject を継承しないクラスです(NSProxy のサブクラスを除く)。 また、その実装はほとんどありません。 今回はその NSProxy を使って view に対するメソッド呼び出しをフックしてみようというお話です。 NSProxy の使い方 名前からも推測できるように、NSProxy は Proxy パターンを実現するためのクラスです。 メッセージの呼び出しが動的に解決される Objective-C において Proxy オブジェクトを実現するのは実に簡単です。 NSProxy は、ただ自身に送られたメッセージを、そのまま別のオブジェクトに受け流すことで Proxy としての機能を実現します。 Proxy オブジェクトを作ってみる

    NSProxy を使って UIWebView のイベントハンドリングをフックする
  • 【連載】Bluetooth LE (7) CoreBluetooth の落とし穴

    こんにちは。共同開発部 門多です。 BLE 連載の第7回は、iOS で CBCentralManager を使った開発において、 はまりやすいと思われるポイントを中心にまとめたいと思います。 連載の第2回を読まれて、 実際にアプリを作ってみた方には、もしかしたら頷かれるものもあるのではないでしょうか? 以下、個別にみていきましょう。 第1回 Bluetooth Low Energy の基礎 第2回 iOS デバイスで Bluetooth LE 機器を使う 第3回 iOS デバイスを Bluetooth LE 機器にする 第4回 Windows 8.1 の Windows ストアアプリで BLE を使う 第5回 Android 4.3 で Bluetooth LE 機器を使う 第6回 Bluetooth LE (6) iOS 7 での CoreBluetooth の変化 iOS 5 の落と

    【連載】Bluetooth LE (7) CoreBluetooth の落とし穴
  • UIKit とスレッドのお約束

    アプリが小気味よく動くようにするために、メインスレッドでの重たい処理を避けて、適宜バックグラウンドスレッドに処理を回すことはよくあります。 このとき注意が必要なのは、バックグラウンドでの処理結果を画面に反映させる時の以下のお約束です。 UIKit のオブジェクトはメインスレッド以外からアクセスしてはいけない Apple のドキュメントとしては Cocoa Fundamentals Guide に “All UIKit objects should be used on the main thread only” と書いてあります。この制限は UIKit 特有ではなく、Java の Swing などでも共通の設計です。GUI のパフォーマンスを良くするために、スレッドセーフをあえて捨てて単純化しているのです。 ではどうすれば良いのかと言うと、バックグラウンドスレッドからメインスレッドに処理を

    UIKit とスレッドのお約束
  • 【iOS/Mac開発】Core Data を使いはじめるのに最低限知っておけばいいこと

    こんにちは。Objective-C は Emacs で書く金内です。 ウェブブラウザ Sleipnir for Mac や Sleipnir Mobile for iPhone / iPad は、ブックマークや履歴・タブのデータを Core Data を使って管理しています。 Core Data は iOS / OS X 開発の主要フレームワークのひとつですが、どうにもとっつきにくいためか、尻込みしてしまう方も多いという印象があります。 この記事の目的は、とっつきにくい Core Data を最低限の内容にしぼって解説して、「なるほどそーいうものなのね。ボク/ワタシのアプリでも使ってみよっかなー」と思っていただくことです。 どんな時に使うの? ひとことで言えば、Core Data は Apple 純正の高機能・高性能データ管理フレームワークです。 iOS / Mac 向けのアプリである程度

    【iOS/Mac開発】Core Data を使いはじめるのに最低限知っておけばいいこと
  • 【iOS/Mac開発】超サクサクアプリへの必須ツール Instruments を使いこなそう

    こんにちは。iOS / Mac 開発担当の金内です。 使って幸せなアプリには、サクサクとした動きが欠かせませんね。自分たちで作っているアプリが「サクサク」でなく「もっさり」と言われてしまうと残念な気持ちになりますが、反面「よし。こうなったら超最適化して超サクサクなハイパフォーマンスアプリを目指す!」と誓いを立てるよい機会でもあります。 そんな誓いを立てたあなたにピッタリのツールが Xcode に付属している Instruments(インストゥルメンツ)です。フェンリルのウェブブラウザ Sleipnir for Mac や Sleipnir Mobile for iPhone / iPad の開発でも大活躍しています。 Instruments は、一般的にはプロファイラという種類のツールにあたります。プロファイラは、どのオブジェクトがどれくらいメモリを消費しているとか、どのメソッドにどれくら

    【iOS/Mac開発】超サクサクアプリへの必須ツール Instruments を使いこなそう
    gologo13
    gologo13 2013/04/20
  • Jenkins がもっと便利になるおすすめプラグイン 8 つ

    こんにちは、開発担当の松です。 今回は、Jenkins にたくさんあるプラグインの中からおすすめのプラグインをいくつか紹介します。 ジョブ一覧にアイコンを追加できる: Custom Job Icon 今年8月にリリースされた比較的新しいプラグイン。名前の通りプロジェクトごとにアイコンを登録できて、それがプロジェクト一覧に表示されるようにできます。 利用するには、プラグインインストール後にアイコンを登録する必要があります。 「Jenkins の管理」→「システムの設定」ページに「Custom icons」セクションが追加されていますので、そこでファイルを追加しておきます。追加しても「Refresh icon list」をクリックしないと表示が更新されない点に注意。 なお、画像の拡大縮小あまりきれいに行われないので、アイコンのサイズは 24 x 24 にしておくのがよいみたいです。 アイコン

    Jenkins がもっと便利になるおすすめプラグイン 8 つ
  • 1