Suche senden
Hochladen
Core Graphicsでつくる自作UIコンポーネント入門
•
Als KEY, PDF herunterladen
•
53 gefällt mir
•
9,672 views
cocopon
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 38
Jetzt herunterladen
Empfohlen
Sencha study
Sencha study
Shinsuke Sugita
iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!
cocopon
情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描く
情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描く
Atsushi Tadokoro
【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」
【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」
nyagasuki
Cocos2d Shaders
Cocos2d Shaders
Yuichi Higuchi
シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!
Yuichi Higuchi
メディア芸術基礎 II Canvas + Javascriptで図形を描く
メディア芸術基礎 II Canvas + Javascriptで図形を描く
Atsushi Tadokoro
簡単!OpenGL ES 2.0フラグメントシェーダー
簡単!OpenGL ES 2.0フラグメントシェーダー
Eiji Kamiya
Empfohlen
Sencha study
Sencha study
Shinsuke Sugita
iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!
cocopon
情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描く
情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描く
Atsushi Tadokoro
【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」
【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」
nyagasuki
Cocos2d Shaders
Cocos2d Shaders
Yuichi Higuchi
シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!
Yuichi Higuchi
メディア芸術基礎 II Canvas + Javascriptで図形を描く
メディア芸術基礎 II Canvas + Javascriptで図形を描く
Atsushi Tadokoro
簡単!OpenGL ES 2.0フラグメントシェーダー
簡単!OpenGL ES 2.0フラグメントシェーダー
Eiji Kamiya
GLSLによるシェーダーアートことはじめ
GLSLによるシェーダーアートことはじめ
Yoichi Hirata
WebGL and Three.js
WebGL and Three.js
yomotsu
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
Hiroshi Yoshida
Three.jsで3D気分
Three.jsで3D気分
Toshio Ehara
背景にCanvasを動かす
背景にCanvasを動かす
takashi umezu
Gocon2013
Gocon2013
Moriyoshi Koizumi
Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門
Masahiko Mizuta
Coma studyroom
Coma studyroom
Cohei Aoki
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Atsushi Tadokoro
enchant.js勉強会
enchant.js勉強会
Hiroaki Murayama
ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)
ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)
Takashi Yoshinaga
openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001
Teruaki Tsubokura
GTC2011 Japan
GTC2011 Japan
Takuro Iizuka
C++11概要 ライブラリ編
C++11概要 ライブラリ編
egtra
FiltersでGLSLを楽しく学んじゃおう!
FiltersでGLSLを楽しく学んじゃおう!
Kazuya Hiruma
0720 abc seminar
0720 abc seminar
Hiroshi Hayama
㉑CSSでアニメーション!その2
㉑CSSでアニメーション!その2
Nishida Kansuke
Real timeimageprocessing
Real timeimageprocessing
ushiostarfish _
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Atsushi Tadokoro
これからのJavaScriptの話
これからのJavaScriptの話
Shogo Sensui
Air printで遊んでみた
Air printで遊んでみた
Hiroyuki Fujikawa
mq 使ってみたよ
mq 使ってみたよ
Tomohiro NAKAMURA
Weitere ähnliche Inhalte
Was ist angesagt?
GLSLによるシェーダーアートことはじめ
GLSLによるシェーダーアートことはじめ
Yoichi Hirata
WebGL and Three.js
WebGL and Three.js
yomotsu
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
Hiroshi Yoshida
Three.jsで3D気分
Three.jsで3D気分
Toshio Ehara
背景にCanvasを動かす
背景にCanvasを動かす
takashi umezu
Gocon2013
Gocon2013
Moriyoshi Koizumi
Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門
Masahiko Mizuta
Coma studyroom
Coma studyroom
Cohei Aoki
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Atsushi Tadokoro
enchant.js勉強会
enchant.js勉強会
Hiroaki Murayama
ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)
ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)
Takashi Yoshinaga
openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001
Teruaki Tsubokura
GTC2011 Japan
GTC2011 Japan
Takuro Iizuka
C++11概要 ライブラリ編
C++11概要 ライブラリ編
egtra
FiltersでGLSLを楽しく学んじゃおう!
FiltersでGLSLを楽しく学んじゃおう!
Kazuya Hiruma
0720 abc seminar
0720 abc seminar
Hiroshi Hayama
㉑CSSでアニメーション!その2
㉑CSSでアニメーション!その2
Nishida Kansuke
Real timeimageprocessing
Real timeimageprocessing
ushiostarfish _
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Atsushi Tadokoro
これからのJavaScriptの話
これからのJavaScriptの話
Shogo Sensui
Was ist angesagt?
(20)
GLSLによるシェーダーアートことはじめ
GLSLによるシェーダーアートことはじめ
WebGL and Three.js
WebGL and Three.js
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
Three.jsで3D気分
Three.jsで3D気分
背景にCanvasを動かす
背景にCanvasを動かす
Gocon2013
Gocon2013
Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門
Coma studyroom
Coma studyroom
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
enchant.js勉強会
enchant.js勉強会
ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)
ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)
openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001
GTC2011 Japan
GTC2011 Japan
C++11概要 ライブラリ編
C++11概要 ライブラリ編
FiltersでGLSLを楽しく学んじゃおう!
FiltersでGLSLを楽しく学んじゃおう!
0720 abc seminar
0720 abc seminar
㉑CSSでアニメーション!その2
㉑CSSでアニメーション!その2
Real timeimageprocessing
Real timeimageprocessing
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
これからのJavaScriptの話
これからのJavaScriptの話
Andere mochten auch
Air printで遊んでみた
Air printで遊んでみた
Hiroyuki Fujikawa
mq 使ってみたよ
mq 使ってみたよ
Tomohiro NAKAMURA
ARCでめちゃモテiOSプログラマー
ARCでめちゃモテiOSプログラマー
Satoshi Asano
Amazon ec2とは何か?
Amazon ec2とは何か?
Shinya_131
vImageのススメ
vImageのススメ
Shuichi Tsutsumi
Herokuで作るdevise認証サイト
Herokuで作るdevise認証サイト
Fukui Osamu
120529 railsとか勉強会v2
120529 railsとか勉強会v2
Yoshiteru Toki
Core Image Tips & Tricks in iOS 9
Core Image Tips & Tricks in iOS 9
Shuichi Tsutsumi
いまさら聞けないUnity小技
いまさら聞けないUnity小技
Yuichi Ishii
Unity5.3の機能まとめ
Unity5.3の機能まとめ
Keigo Ando
Andere mochten auch
(10)
Air printで遊んでみた
Air printで遊んでみた
mq 使ってみたよ
mq 使ってみたよ
ARCでめちゃモテiOSプログラマー
ARCでめちゃモテiOSプログラマー
Amazon ec2とは何か?
Amazon ec2とは何か?
vImageのススメ
vImageのススメ
Herokuで作るdevise認証サイト
Herokuで作るdevise認証サイト
120529 railsとか勉強会v2
120529 railsとか勉強会v2
Core Image Tips & Tricks in iOS 9
Core Image Tips & Tricks in iOS 9
いまさら聞けないUnity小技
いまさら聞けないUnity小技
Unity5.3の機能まとめ
Unity5.3の機能まとめ
Ähnlich wie Core Graphicsでつくる自作UIコンポーネント入門
静岡Developers勉強会 HTML5&CSS3
静岡Developers勉強会 HTML5&CSS3
yaju88
Hands on
Hands on
Keiji Kamebuchi
ソフトウェア工学2023 10 デバッグ
ソフトウェア工学2023 10 デバッグ
Toru Tamaki
Python physicalcomputing
Python physicalcomputing
Noboru Irieda
Cocoa勉強会pdf関連
Cocoa勉強会pdf関連
OCHI Shuji
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
kikairoya
emc++ chapter32
emc++ chapter32
Tatsuki SHIMIZU
T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門
伸男 伊藤
Arctic.js
Arctic.js
chikathreesix
OpenCVの拡張ユーティリティ関数群
OpenCVの拡張ユーティリティ関数群
Norishige Fukushima
Android Lecture #04 @PRO&BSC Inc.
Android Lecture #04 @PRO&BSC Inc.
Yuki Higuchi
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
勝成 鈴江
cocos2d-xとネイティブ間の連携
cocos2d-xとネイティブ間の連携
Tomoaki Shimizu
C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml
ssuser3a4b8c
Pf部2012年1月勉強会.androidsola
Pf部2012年1月勉強会.androidsola
android sola
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
AdvancedTechNight
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
Jumpei Ogawa
try! Swift - Advanced Graphics with Core Animation
try! Swift - Advanced Graphics with Core Animation
Tim Oliver
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
Tomoaki Shimizu
Hupc 1
Hupc 1
Hiroki Takeda
Ähnlich wie Core Graphicsでつくる自作UIコンポーネント入門
(20)
静岡Developers勉強会 HTML5&CSS3
静岡Developers勉強会 HTML5&CSS3
Hands on
Hands on
ソフトウェア工学2023 10 デバッグ
ソフトウェア工学2023 10 デバッグ
Python physicalcomputing
Python physicalcomputing
Cocoa勉強会pdf関連
Cocoa勉強会pdf関連
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
emc++ chapter32
emc++ chapter32
T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門
Arctic.js
Arctic.js
OpenCVの拡張ユーティリティ関数群
OpenCVの拡張ユーティリティ関数群
Android Lecture #04 @PRO&BSC Inc.
Android Lecture #04 @PRO&BSC Inc.
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
cocos2d-xとネイティブ間の連携
cocos2d-xとネイティブ間の連携
C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml
Pf部2012年1月勉強会.androidsola
Pf部2012年1月勉強会.androidsola
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
try! Swift - Advanced Graphics with Core Animation
try! Swift - Advanced Graphics with Core Animation
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
Hupc 1
Hupc 1
Kürzlich hochgeladen
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
furutsuka
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
Kürzlich hochgeladen
(9)
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
Core Graphicsでつくる自作UIコンポーネント入門
1.
CoreGraphicsでつくる 自作UIコンポーネント入門 DOTAPON Software @cocopon http://dotapon.sakura.ne.jp
2.
cocoponって誰ですか
@cocopon デザイナに憧れる ホビープログラマです Windows用の Mac用の iPhone用の ゲームとか オフラインブログとか クミタテ電卓とか Osciroi Calqum
3.
今日のお題…の前に 前回発表のハイライト
…救世主があらわれた!
4.
今日のお題…の前に XVim!! Vimmerは今すぐダウンロードすべし
https://github.com/JugglerShu/XVim 見覚えのある「コマンドライン」が! これで勝てる!!!
5.
今日のお題 ステキなUIのアプリ、たくさんありますよね Path
Twittelator Neue Paylog
6.
今日のお題 どれもUIKit標準では用意されていない… ど
う や って 作 ってるん だろう?
7.
今日のお題 オープンソースの
フキダシUIコンポーネント 「CMPopTipView」を題材に、 CoreGraphicsを使った UIコンポーネント自作の 基礎を見てみよう
8.
準備OK? https://github.com/chrismiles/CMPopTipView
9.
読むぞ! CMPopTipView
10.
画像リソースは…ありません!
CMPopTipView.hと CMPopTipView.mのみ どうやって描いてるの?
11.
描画処理のキホン [UIView drawRect:
... ] 内で… 1. 点をつないで「パス」をつくる 2. パスを塗ったり、影をつけたりする
12.
なぜ画像を使わないのか
メリットが大きいから! デメリットもある ★ 実行時のカスタマイズが容易 ★ コードで描くので少し面倒 色とか、角丸のサイズとか… 複雑な描画は心が折れる ★ 画像リソースがないので、 その分サイズが小さくなる
13.
描画処理の準備
UIGraphicsGetCurrentContext CGContextRef c = UIGraphicsGetCurrentContext(); 描画するときに必要です
14.
パス用の変数を用意する
CGPathCreateMutable CGMutablePathRef bubblePath = CGPathCreateMutable(); “Mutable” は「変更可能」という意味 少しずつパスを作っていける
15.
フキダシの方向で処理を分ける
if (pointDirection == PointDirectionUp) { ... } else { ... } PointDirectionUp PointDirectionDown 今回はこちら側を読み進めます
16.
パスの始点を決める
CGPathMoveToPoint CGPathMoveToPoint(bubblePath, NULL, targetPoint.x, targetPoint.y);
17.
パスに直線を追加
CGPathAddLineToPoint CGPathAddLineToPoint(bubblePath, NULL, targetPoint.x-pointerSize, targetPoint.y-pointerSize);
18.
パスに角丸を追加
CGPathAddArcToPoint CGPathAddArcToPoint( bubblePath, NULL, bubbleRect.origin.x, bubbleRect.origin.y + bubbleRect.size.height, bubbleRect.origin.x, bubbleRect.origin.y + bubbleRect.size.height - cornerRadius, cornerRadius); CGPathAddArcToPoint( 追加するパス, NULL, 角のX, Y, 終点のX, Y, 角丸の半径)
19.
残りの角丸を追加 同じ要領で残りも追加する
20.
パスを閉じる
CGPathCloseSubpath CGPathCloseSubpath(bubblePath); これで1周して、フキダシ形のパスが完成!
21.
パスを描く、その前に
CGContextSave(/Restore)GState CGContextSaveGState(c); CGContextAddPath(c, bubblePath); CGContextSetShadow(c, CGSizeMake(0, 3), 5); CGContextSetRGBFillColor(c, 0.0, 0.0, 0.0, 0.9); CGContextFillPath(c); CGContextRestoreGState(c); コンテキストに設定した情報 (描画色やパスなど)を保存/復元 描画処理のカタマリごとに囲って、 他のカタマリに影響が出ないように書くのがベター
22.
影を描く
CGContextSetShadow, ~FillPath CGContextSaveGState(c); CGContextAddPath(c, bubblePath); CGContextSetShadow(c, CGSizeMake(0, 3), 5); CGContextSetRGBFillColor(c, 0.0, 0.0, 0.0, 0.9); CGContextFillPath(c); CGContextRestoreGState(c); CGContextSetShadow( コンテキスト, 影の位置のずれ, ぼかし量) 設定した色・パスの形で影を描画
23.
背景グラデーションを準備する
CGColorGetComponents int numComponents = CGColorGetNumberOfComponents([backgroundColor CGColor]); const CGFloat *components = CGColorGetComponents([backgroundColor CGColor]); if (numComponents == 2) { red = components[0]; green = components[0]; blue = components[0]; alpha = components[1]; } else { red = components[0]; green = components[1]; blue = components[2]; 背景色の色要素を分解して red, green, blue, alpha を取得
24.
背景グラデーションを準備する CGFloat colorList[]
= { //red, green, blue, alpha red*1.16+colourHL, green*1.16+colourHL, blue*1.16+colourHL, alpha, red*1.16+colourHL, green*1.16+colourHL, blue*1.16+colourHL, alpha, red*1.08+colourHL, green*1.08+colourHL, blue*1.08+colourHL, 1.16倍: 明るく 1.16倍: 明るく 1.08倍: ちょっと明るく 背景色 背景色
25.
背景グラデーションを作成する
CGGradientCreateWithColorComponents CGFloat bubbleMiddle = (bubbleRect.origin.y + bubbleRect.size.height / 2)) / self.bounds.size.height; CGFloat locationList[] = {0.0, bubbleMiddle - 0.03, bubbleMiddle, bubbleMiddle + 0.03, 1.0}; ... myGradient = CGGradientCreateWithColorComponents( myColorSpace, colorList, locationList, locationCount); 0.0 bubbleMiddle ±0.03 1.0
26.
背景を塗る
CGContextDrawLinearGradient CGContextAddPath(c, bubblePath); CGContextClip(c); ... CGPoint startPoint, endPoint; startPoint.x = 0; startPoint.y = 0; endPoint.x = 0; endPoint.y = CGRectGetMaxY(self.bounds); CGContextClipでフキダシ型にクリップしてから塗る
27.
作ったものは、解放しよう
CG*Release CGGradientRelease(myGradient); CGColorSpaceRelease(myColorSpace); ... CGPathRelease(bubblePath); Create~ な関数で作ったものは、 解放しないとリークするよ 「ちゃんと解放してね」 ドキュメントにしっかりと 書いてあります
28.
文字を描く
[NSString drawInRect: ... ] [textColor set]; CGRect textFrame = [self contentFrame]; [self.message drawInRect:textFrame withFont:textFont lineBreakMode:UILineBreakModeWordWrap alignment:UITextAlignmentCenter];
29.
自作の幅をさらに広げる
キーワード
30.
CoreAnimation
複雑なアニメーション CAKeyframeAnimationで Path風のメニューを実現 https://github.com/levey/AwesomeMenu/
31.
CoreAnimation
3次元の変形 CATransform3Dで Clear風の折り畳みを実現 https://github.com/mpospese/MPFoldTransition/
32.
作りはじめる、その前に
33.
そのコンポーネント、もうあるかもよ
車輪の再発明はもったいない まずはネットで探してみよう Cocoa Controls http://cocoacontrols.com/
34.
作り終わった、そのあとは
35.
世界に公開してみよう
受けた恩恵は還元して、 「みんなでハッピー」を目指そう github.com
36.
自分も公開してみました https://github.com/cocopon/CQMFloatingController
クミタテ電卓Calqumの 定数選択用コンポーネントを 整理・切り出し CoreGraphics使用、画像不使用 今回の内容の復習に最適!
37.
自分も公開してみました https://github.com/cocopon/CQMFloatingController
クミタテ電卓Calqumの 定数選択用コンポーネントを 整理・切り出し CoreGraphics使用、画像不使用 今回の内容の復習に最適!
38.
CoreGraphicsでつくる 自作UIコンポーネント入門
DOTAPON Software @cocopon http://dotapon.sakura.ne.jp
Hinweis der Redaktion
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Jetzt herunterladen