SlideShare una empresa de Scribd logo
1 de 18
iOS 6 からのテキスト描
          画
( NSAttributedString )
( NSAttributedString )
           2013.2.2
       Cocoa 勉強会 関西
           大森智史
• スライド、サンプルは基本的にすべて公開し
  ます。

• 後ほど Facebook ページにて
あんた、誰?


• と、いうわけで自己紹介。
• 大森智史といいます。

• Objective-C で遊んでます。

• Cocoa 勉強会関西は最初からいます。
• と、いうことで本題に
ビューに文字
• どうしてますか?

• UILabel?

• UITextField?

• UITextView?

• UIWebView?
2012 年 8 月の勉強会
        で
同じような題材で
お話ししました。
お話ししました。
だが、しかし

• 今、 iOS 5.1 では、コンテキストを使ってし
  か書く方法がない!

• OS X には drawString とか drawRect とか
  View に書く方法がある!
                            New
• 将来に期待したい!
できました                  iOS6.
                                iOS6.
                                   0
                                   0



• NSAttributedString Additions でメソッド追加

• NSStringDrawing.h
簡単です。
指定した位置から文字を描画

- (void)drawAtPoint:(CGPoint)point;



指定したエリアに文字を描画

- (void)drawInRect:(CGRect)rect;
やってみましょう


• DEMO
• 文字描画




• 属性追加
• 影とか




• 一応縦グリフも
注意点


• 表示するだけ。まあでも簡単でしょ。

• 段落設定をいろいろしようとすると CoreText
  フレームワークをごにょごにょ。
おまけ


• もう UIWebView とか使わなくてもイイ!

• UILabel とかでも属性付き文字列が使えるよ
  うになっているので便利。
まとめ

• 属性付き文字列、いろんなところで使える。

• ビューに書くなら

- (void)drawAtPoint:(CGPoint)point;

- (void)drawInRect:(CGRect)rect;
ありがとうございました

Más contenido relacionado

La actualidad más candente

西区勉強会用スライド
西区勉強会用スライド西区勉強会用スライド
西区勉強会用スライド
Hiromi Kai
 
コマンドライン使いもLibreOffice
コマンドライン使いもLibreOfficeコマンドライン使いもLibreOffice
コマンドライン使いもLibreOffice
Kiwamu Okabe
 

La actualidad más candente (20)

西区勉強会用スライド
西区勉強会用スライド西区勉強会用スライド
西区勉強会用スライド
 
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
 
AWSはとんでもないものを盗んでいきました(JawsDays2013@shimy_net)
AWSはとんでもないものを盗んでいきました(JawsDays2013@shimy_net)AWSはとんでもないものを盗んでいきました(JawsDays2013@shimy_net)
AWSはとんでもないものを盗んでいきました(JawsDays2013@shimy_net)
 
20181117 azure ml_seminar_3
20181117 azure ml_seminar_320181117 azure ml_seminar_3
20181117 azure ml_seminar_3
 
JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2
JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2
JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2
 
コマンドライン使いもLibreOffice
コマンドライン使いもLibreOfficeコマンドライン使いもLibreOffice
コマンドライン使いもLibreOffice
 
amCharts勉強会
amCharts勉強会amCharts勉強会
amCharts勉強会
 
JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?
 
Airflowで真面目にjob管理
Airflowで真面目にjob管理Airflowで真面目にjob管理
Airflowで真面目にjob管理
 
PHPでWebSocketを実装してみてわかったこと
PHPでWebSocketを実装してみてわかったことPHPでWebSocketを実装してみてわかったこと
PHPでWebSocketを実装してみてわかったこと
 
f3js - JS Board Shibuya #6 LT
f3js - JS Board Shibuya #6 LTf3js - JS Board Shibuya #6 LT
f3js - JS Board Shibuya #6 LT
 
HTML5で作るスマホブラウザゲーム
HTML5で作るスマホブラウザゲームHTML5で作るスマホブラウザゲーム
HTML5で作るスマホブラウザゲーム
 
Rubyをちょっと理解しよう
Rubyをちょっと理解しようRubyをちょっと理解しよう
Rubyをちょっと理解しよう
 
2014 08-30 life with roslyn
2014 08-30 life with roslyn2014 08-30 life with roslyn
2014 08-30 life with roslyn
 
モックアップやプロトタイプづくりを 加速させる。それが SVG。@DIST.4 「Life is Short」
モックアップやプロトタイプづくりを 加速させる。それが SVG。@DIST.4 「Life is Short」モックアップやプロトタイプづくりを 加速させる。それが SVG。@DIST.4 「Life is Short」
モックアップやプロトタイプづくりを 加速させる。それが SVG。@DIST.4 「Life is Short」
 
Nespのコード生成
Nespのコード生成Nespのコード生成
Nespのコード生成
 
Core Animation 使って見た
Core Animation 使って見たCore Animation 使って見た
Core Animation 使って見た
 
Visual basic14 の話
Visual basic14 の話Visual basic14 の話
Visual basic14 の話
 
データベース定義書の更新は再考の仕事
データベース定義書の更新は再考の仕事データベース定義書の更新は再考の仕事
データベース定義書の更新は再考の仕事
 
continuatioN Linking
continuatioN LinkingcontinuatioN Linking
continuatioN Linking
 

Similar a Cocoa勉強会201302

CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
Kazuki Akiyama
 
HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実
Takumi Ohashi
 

Similar a Cocoa勉強会201302 (20)

RFC Viewer開発を通して学ぶ!! iOS開発のパターン化
RFC Viewer開発を通して学ぶ!! iOS開発のパターン化RFC Viewer開発を通して学ぶ!! iOS開発のパターン化
RFC Viewer開発を通して学ぶ!! iOS開発のパターン化
 
Core Graphics on watchOS 2
Core Graphics on watchOS 2Core Graphics on watchOS 2
Core Graphics on watchOS 2
 
だいすきStoryboard - #potatotips (iOS/Android開発Tips共有会) 第7回
だいすきStoryboard - #potatotips (iOS/Android開発Tips共有会) 第7回だいすきStoryboard - #potatotips (iOS/Android開発Tips共有会) 第7回
だいすきStoryboard - #potatotips (iOS/Android開発Tips共有会) 第7回
 
C#のやさしさを語る時間
C#のやさしさを語る時間C#のやさしさを語る時間
C#のやさしさを語る時間
 
Swift の可変値と不変値 〜 前回の続き(おまけ)〜 #cocoa_kansai
Swift の可変値と不変値 〜 前回の続き(おまけ)〜 #cocoa_kansaiSwift の可変値と不変値 〜 前回の続き(おまけ)〜 #cocoa_kansai
Swift の可変値と不変値 〜 前回の続き(おまけ)〜 #cocoa_kansai
 
angular X designer - デザイナからみたAngularJS #ten1club
angular X designer - デザイナからみたAngularJS #ten1clubangular X designer - デザイナからみたAngularJS #ten1club
angular X designer - デザイナからみたAngularJS #ten1club
 
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansaiJavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
 
About SnapKit - Open source lab -
About SnapKit - Open source lab -About SnapKit - Open source lab -
About SnapKit - Open source lab -
 
覚えておいて損はない! Fireworksの便利なTips特集
覚えておいて損はない! Fireworksの便利なTips特集覚えておいて損はない! Fireworksの便利なTips特集
覚えておいて損はない! Fireworksの便利なTips特集
 
Xcode 6の新機能
Xcode 6の新機能Xcode 6の新機能
Xcode 6の新機能
 
Xcode 7 の新しいところ #cm_ios9
Xcode 7 の新しいところ #cm_ios9Xcode 7 の新しいところ #cm_ios9
Xcode 7 の新しいところ #cm_ios9
 
ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』
 
1画面1Storyboardのススメ
1画面1Storyboardのススメ1画面1Storyboardのススメ
1画面1Storyboardのススメ
 
Swiftのアプリ開発でハマったこと
Swiftのアプリ開発でハマったことSwiftのアプリ開発でハマったこと
Swiftのアプリ開発でハマったこと
 
㉒初期プロジェクトを改造!
㉒初期プロジェクトを改造!㉒初期プロジェクトを改造!
㉒初期プロジェクトを改造!
 
Scala.js触ってみた
Scala.js触ってみたScala.js触ってみた
Scala.js触ってみた
 
Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応
 
『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆
 
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
 
HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実
 

Más de Satoshi Oomori (9)

Cocoa勉強会20140621 macとiosで共通のコード
Cocoa勉強会20140621 macとiosで共通のコードCocoa勉強会20140621 macとiosで共通のコード
Cocoa勉強会20140621 macとiosで共通のコード
 
Cocoa勉強会20140419ゲームをつくってみる
Cocoa勉強会20140419ゲームをつくってみるCocoa勉強会20140419ゲームをつくってみる
Cocoa勉強会20140419ゲームをつくってみる
 
Word net cocoa勉強会201306
Word net cocoa勉強会201306Word net cocoa勉強会201306
Word net cocoa勉強会201306
 
Scene kit cocoa勉強会201306
Scene kit cocoa勉強会201306Scene kit cocoa勉強会201306
Scene kit cocoa勉強会201306
 
Cocoa勉強会ビギナーズramディスクとコマンドファイル
Cocoa勉強会ビギナーズramディスクとコマンドファイルCocoa勉強会ビギナーズramディスクとコマンドファイル
Cocoa勉強会ビギナーズramディスクとコマンドファイル
 
Cocoa勉強会201208
Cocoa勉強会201208Cocoa勉強会201208
Cocoa勉強会201208
 
Cocoa勉強会関西2012年5月
Cocoa勉強会関西2012年5月Cocoa勉強会関西2012年5月
Cocoa勉強会関西2012年5月
 
Cocoa勉強会201203公開
Cocoa勉強会201203公開Cocoa勉強会201203公開
Cocoa勉強会201203公開
 
Cocoa勉強会2011年11月
Cocoa勉強会2011年11月Cocoa勉強会2011年11月
Cocoa勉強会2011年11月
 

Cocoa勉強会201302