統計情報(30日間)


最新情報をツイート


人気の投稿

[iOS7] トランジションカスタマイズ

このエントリーをはてなブックマークに追加

要点をまとめてあってわかりやすい。



続きは本で(とのこと)

今週発売ですね。楽しみ


[iOS7] Text Kit チュートリアル

このエントリーをはてなブックマークに追加

新しく導入された Dynamic type から始まり、レイアウトのカスタマイズ、動的フォーマッティングなどテキストビューの凝った表現を解説する実用的なチュートリアル。自分でテキスト表現をカスタマイズしたいときには参考になる。



UITextView.textContainer.exclusionPaths を利用したテキストの回り込み配置

NSTextStorageをサブクラス化して、動的に文字をフォーマッティング

テキスト周りのクラス相関図

なお iOS6と7でテキスト周りのシステム構成が変わったとのこと。

iOS6

iOS7

String Drawing が排除され、新しく TextKitが導入された。これがDynamic Fontなどを実現しているようだ。またWebKitがUIWebView専用に。

- - - - -
参考情報:Introducing Text Kit
※要AppleDeveloperアカウント


What's New in iOSより
Text Kit
Text Kit is a full-featured set of UIKit classes for managing text and fine typography. Text Kit can lay out styled text into paragraphs, columns, and pages; it easily flows text around arbitrary regions such as graphics; and it manages multiple fonts. Text Kit is integrated with all UIKit text-based controls to enable apps to create, edit, display, and store text more easily—and with less code than was previously possible in iOS.

Text Kit comprises new classes and extensions to existing classes, including the following:

The NSAttributedString class has been extended to support new attributes.
The NSLayoutManager class generates glyphs and lays out text.
The NSTextContainer class defines a region where text is laid out.
The NSTextStorage class defines the fundamental interface for managing text-based content.
For more information about Text Kit, see Text Programming Guide for iOS.

[iOS7] UIKit Dynamics チュートリアル

このエントリーをはてなブックマークに追加

UIKit Dynamics はUIKitで簡単に物理演算エンジンが扱える仕組み。このチュートリアルでは箱を題材にして重力効果の追加、境界、衝突など処理方法を紹介している。



重力効果の追加はこんな感じ。UIKitそのままで簡単に扱える感じがする。


関連


AutoLayoutをマスターしたい人が読むべきチュートリアル

このエントリーをはてなブックマークに追加

これは良かったのでお勧め。


Xcodeを使って具体的な例を示しながらの説明は非常にわかりやすい。Autolayoutに関する実用的な内容がひと通り網羅されていて自分自身知らないことも多かった。

シリーズ化されていてなんと8回まである。簡単にまとめるとこんな感じ(引用あり)。

1. Auto Layoutによる配置の基本的な考え方、Constraintについて
2. Align, Pinについて
3. サイズ自動調整、行テキスト自動調整
4. Superviewの中心にSubviewを固定、プログラムからConstraintを操作
5. Subviewを横に並べて、かつ幅を自動調整するサンプルの
解説
6. (5.の続き)
7. 今回はSuperview全体を覆うSubview配置
8. まとめ
・Auto Layoutを使えばプログラミングなしでSubview配置できるケースが増える
・Interface Builderアンチの人もAuto Layoutとセットで使ってみよう
・Auto Layoutを直接プログラミングで行うのは難しい・保守性が低い
・状況によってはAuto Layoutを使わずframe直接設定も考える余地あり

Webコンテンツとしては結構なボリューム。内容もいいので kindleとかで出しても売れるのでは。

- - - -
個人的にはAutolayoutの特性がプログラミング向きで無いというところが同感だし、AutoLayoutで残念に感じたところ。調査した限りではAPIもネットの情報でもコードでConstraintを操作するうまい方法が見つからなかったので、今つくっているアプリでもAutolayoutを断念した。大きさを変えたりアニメーションさせるような場合は従来の方式の方が向いているようだ。
※なおブログのタイトルがウザいですが只今実験中です。

フリーハンド描画のチュートリアル

このエントリーをはてなブックマークに追加



最初は単純な補完


次にオフスクリーンへの描画処理をGCDで別スレッドへ移す。
// Main queue
dispatch_async(aSerialQueue, ^{
   // background processing
   dispatch_async(mainQueue, ^{
   // update UI with results
   });
});
定石パターンで。

そしてBezier curveに切り替える


ずいぶん滑らかになった。



Core Graphics でオリジナルコントロールを描く

このエントリーをはてなブックマークに追加

こんなコントロールの作り方。丸いところを指でまわせるUI。ユーザからの操作を受け付ける為、UIControlのサブクラスとして作る。


グラデーションを描き、それを輪っかのマスクでくり抜く。すべてCoreGraphicsだけで描画している。


描画ができたらUIControlのメソッドをいくつか書いてユーザの操作をハンドリングする。-beginTrackingWithTouch:withEvent:とか。そして最後にターゲット&アクションの処理を加えてコントロールの出来上がり。

描画、UIインタラクション、ターゲット&アクションと、基本要素が抑えられているのでカスタムコントロールを作る時に参考になる。




「業務用iOSアプリ作成講座」

このエントリーをはてなブックマークに追加

業務用のiOSアプリを作成する連載が始まった。



そこで本連載では、iPhone/iPadで稼働する業務アプリケーションの作り方を基礎から解説していきます。今からでも遅くはありません。必要に迫られて開発に着手した人も、興味が沸いてきたので開発してみようと思った人も、この連載を読んでiOSアプリ開発の基礎を習得しましょう。

続きを読むには ITpro会員(無料)になる必要あり。



GPUImage を使ったカメラアプリの作り方

このエントリーをはてなブックマークに追加

GPUImageの説明からそれを活用したカメラアプリ制作まで。計8回。要点をうまくまとめていて参考になる。






GHUnit チュートリアル

このエントリーをはてなブックマークに追加

CocoaPodsでのインストールから簡単なテストまで。図入りで分かりやすい。


OpenGL フラグメントシェーダーチュートリアル

このエントリーをはてなブックマークに追加

フラグメントシェーダーの予備知識から始まってUIView上での使い方、最終的には用意した画像をモノトーン変換処理するまで。説明量が凄い。



結果(引用)

1枚画像を使い回すアイディアがユニークで面白い。

なお一つ前の投稿では CIFilterを使う方法が紹介されている。こちらも参考になる。


Passbook チュートリアル

このエントリーをはてなブックマークに追加

わかりやすい。



引用:
パスを作成 → 配布する簡単な流れ

1. パスを作成するのに必要なファイルをダウンロードする
2. Provisioning Portal で証明書の登録などを済ませる
3. テンプレートを編集して自分仕様に編集する
4. テンプレートファイルに付属するツールでパッケージ化(.pkpass 形式)する
5. .pkpass をウェブにアップロードして、iPhone の Safari からリンクを踏む


(関連)先日 FAQが公開されていた(英語)。