Enviar pesquisa
Carregar
魅せるUIの作り方 | iOS 7エンジニア勉強会
•
29 gostaram
•
35,543 visualizações
Yahoo!デベロッパーネットワーク
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 25
Baixar agora
Baixar para ler offline
Recomendados
徹底解説 Unity Reflect【概要編 ver2.0】
徹底解説 Unity Reflect【概要編 ver2.0】
Unity Technologies Japan K.K.
今だから聞きたい 「一番新しい xRアプリの作り方」 2020年 最新版
今だから聞きたい 「一番新しい xRアプリの作り方」 2020年 最新版
UnityTechnologiesJapan002
Unity MARS導入セミナー(7月8日号) - Unityステーション
Unity MARS導入セミナー(7月8日号) - Unityステーション
Unity Technologies Japan K.K.
【Unity Reflect】無料のViewerに機能が増えた!?~お披露目会編~
【Unity Reflect】無料のViewerに機能が増えた!?~お披露目会編~
Unity Technologies Japan K.K.
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
Unity Technologies Japan K.K.
【Unite 2017 Tokyo】UnityとHoloLensとクラウドの連携による3Dソリューション「AR CAD Cloud」
【Unite 2017 Tokyo】UnityとHoloLensとクラウドの連携による3Dソリューション「AR CAD Cloud」
Unity Technologies Japan K.K.
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
Unity Technologies Japan K.K.
VRで日本語音声認識の作り方 201811
VRで日本語音声認識の作り方 201811
Genki Okuma
Recomendados
徹底解説 Unity Reflect【概要編 ver2.0】
徹底解説 Unity Reflect【概要編 ver2.0】
Unity Technologies Japan K.K.
今だから聞きたい 「一番新しい xRアプリの作り方」 2020年 最新版
今だから聞きたい 「一番新しい xRアプリの作り方」 2020年 最新版
UnityTechnologiesJapan002
Unity MARS導入セミナー(7月8日号) - Unityステーション
Unity MARS導入セミナー(7月8日号) - Unityステーション
Unity Technologies Japan K.K.
【Unity Reflect】無料のViewerに機能が増えた!?~お披露目会編~
【Unity Reflect】無料のViewerに機能が増えた!?~お披露目会編~
Unity Technologies Japan K.K.
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
Unity Technologies Japan K.K.
【Unite 2017 Tokyo】UnityとHoloLensとクラウドの連携による3Dソリューション「AR CAD Cloud」
【Unite 2017 Tokyo】UnityとHoloLensとクラウドの連携による3Dソリューション「AR CAD Cloud」
Unity Technologies Japan K.K.
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
Unity Technologies Japan K.K.
VRで日本語音声認識の作り方 201811
VRで日本語音声認識の作り方 201811
Genki Okuma
Intro - iOS 7 でアプリ開発はどう変わる? | iOS 7エンジニア勉強会
Intro - iOS 7 でアプリ開発はどう変わる? | iOS 7エンジニア勉強会
Yahoo!デベロッパーネットワーク
既存アプリのiOS 7対応 | iOS 7エンジニア勉強会
既存アプリのiOS 7対応 | iOS 7エンジニア勉強会
Yahoo!デベロッパーネットワーク
Xcode5でのデバッグ / CI | iOS 7エンジニア勉強会
Xcode5でのデバッグ / CI | iOS 7エンジニア勉強会
Yahoo!デベロッパーネットワーク
アプリのバックグラウンド処理 | iOS 7エンジニア勉強会
アプリのバックグラウンド処理 | iOS 7エンジニア勉強会
Yahoo!デベロッパーネットワーク
Xcodeプラグインで快適な開発ライフを
Xcodeプラグインで快適な開発ライフを
Yuki Hirai
Social.framework&Account.framework #twtr_hack
Social.framework&Account.framework #twtr_hack
Itsuki Kuroda
RubyMotionを1週間 触ってみた印象
RubyMotionを1週間 触ってみた印象
Tatsuya Tobioka
Swiftとメソッドのアレコレ
Swiftとメソッドのアレコレ
Nobuo Saito
Xcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhios
Tomohiro Kumagai
グループB、発表用プレゼン
グループB、発表用プレゼン
hirosi0402
Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集
Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集
yuki0211s
【11月3日】本場スタンフォード大学に学ぶ!デザイン思考入門
【11月3日】本場スタンフォード大学に学ぶ!デザイン思考入門
Takanori Kashino
マシな画面を作る
マシな画面を作る
okumasama
【デザイン思考マスター・クラス:11月24/25日】本場スタンフォード大学に学ぶ!
【デザイン思考マスター・クラス:11月24/25日】本場スタンフォード大学に学ぶ!
Takanori Kashino
UI&UX / 重要なのは、毎日さわって嬉しい UI UX!
UI&UX / 重要なのは、毎日さわって嬉しい UI UX!
Akiko Ohtsuka
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
コンテンツ作りの三原則
コンテンツ作りの三原則
INFOBAHN.inc(株式会社インフォバーン)
iOSで動画からスクショを撮る方法
iOSで動画からスクショを撮る方法
Tomo Ita
20131005 cocoa関西
20131005 cocoa関西
Yosuke Uno
20121201yidev hirobe iPad miniでRetina
20121201yidev hirobe iPad miniでRetina
Kazuya Hirobe
UIImagePickerController よもやま話
UIImagePickerController よもやま話
Kei Kusakari
Titanium もくもく会第6回 Kii Cloud と TiGPUImageView
Titanium もくもく会第6回 Kii Cloud と TiGPUImageView
濱田 章吾
Mais conteúdo relacionado
Destaque
Intro - iOS 7 でアプリ開発はどう変わる? | iOS 7エンジニア勉強会
Intro - iOS 7 でアプリ開発はどう変わる? | iOS 7エンジニア勉強会
Yahoo!デベロッパーネットワーク
既存アプリのiOS 7対応 | iOS 7エンジニア勉強会
既存アプリのiOS 7対応 | iOS 7エンジニア勉強会
Yahoo!デベロッパーネットワーク
Xcode5でのデバッグ / CI | iOS 7エンジニア勉強会
Xcode5でのデバッグ / CI | iOS 7エンジニア勉強会
Yahoo!デベロッパーネットワーク
アプリのバックグラウンド処理 | iOS 7エンジニア勉強会
アプリのバックグラウンド処理 | iOS 7エンジニア勉強会
Yahoo!デベロッパーネットワーク
Xcodeプラグインで快適な開発ライフを
Xcodeプラグインで快適な開発ライフを
Yuki Hirai
Social.framework&Account.framework #twtr_hack
Social.framework&Account.framework #twtr_hack
Itsuki Kuroda
RubyMotionを1週間 触ってみた印象
RubyMotionを1週間 触ってみた印象
Tatsuya Tobioka
Swiftとメソッドのアレコレ
Swiftとメソッドのアレコレ
Nobuo Saito
Xcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhios
Tomohiro Kumagai
グループB、発表用プレゼン
グループB、発表用プレゼン
hirosi0402
Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集
Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集
yuki0211s
【11月3日】本場スタンフォード大学に学ぶ!デザイン思考入門
【11月3日】本場スタンフォード大学に学ぶ!デザイン思考入門
Takanori Kashino
マシな画面を作る
マシな画面を作る
okumasama
【デザイン思考マスター・クラス:11月24/25日】本場スタンフォード大学に学ぶ!
【デザイン思考マスター・クラス:11月24/25日】本場スタンフォード大学に学ぶ!
Takanori Kashino
UI&UX / 重要なのは、毎日さわって嬉しい UI UX!
UI&UX / 重要なのは、毎日さわって嬉しい UI UX!
Akiko Ohtsuka
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
コンテンツ作りの三原則
コンテンツ作りの三原則
INFOBAHN.inc(株式会社インフォバーン)
Destaque
(17)
Intro - iOS 7 でアプリ開発はどう変わる? | iOS 7エンジニア勉強会
Intro - iOS 7 でアプリ開発はどう変わる? | iOS 7エンジニア勉強会
既存アプリのiOS 7対応 | iOS 7エンジニア勉強会
既存アプリのiOS 7対応 | iOS 7エンジニア勉強会
Xcode5でのデバッグ / CI | iOS 7エンジニア勉強会
Xcode5でのデバッグ / CI | iOS 7エンジニア勉強会
アプリのバックグラウンド処理 | iOS 7エンジニア勉強会
アプリのバックグラウンド処理 | iOS 7エンジニア勉強会
Xcodeプラグインで快適な開発ライフを
Xcodeプラグインで快適な開発ライフを
Social.framework&Account.framework #twtr_hack
Social.framework&Account.framework #twtr_hack
RubyMotionを1週間 触ってみた印象
RubyMotionを1週間 触ってみた印象
Swiftとメソッドのアレコレ
Swiftとメソッドのアレコレ
Xcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhios
グループB、発表用プレゼン
グループB、発表用プレゼン
Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集
Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集
【11月3日】本場スタンフォード大学に学ぶ!デザイン思考入門
【11月3日】本場スタンフォード大学に学ぶ!デザイン思考入門
マシな画面を作る
マシな画面を作る
【デザイン思考マスター・クラス:11月24/25日】本場スタンフォード大学に学ぶ!
【デザイン思考マスター・クラス:11月24/25日】本場スタンフォード大学に学ぶ!
UI&UX / 重要なのは、毎日さわって嬉しい UI UX!
UI&UX / 重要なのは、毎日さわって嬉しい UI UX!
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
コンテンツ作りの三原則
コンテンツ作りの三原則
Semelhante a 魅せるUIの作り方 | iOS 7エンジニア勉強会
iOSで動画からスクショを撮る方法
iOSで動画からスクショを撮る方法
Tomo Ita
20131005 cocoa関西
20131005 cocoa関西
Yosuke Uno
20121201yidev hirobe iPad miniでRetina
20121201yidev hirobe iPad miniでRetina
Kazuya Hirobe
UIImagePickerController よもやま話
UIImagePickerController よもやま話
Kei Kusakari
Titanium もくもく会第6回 Kii Cloud と TiGPUImageView
Titanium もくもく会第6回 Kii Cloud と TiGPUImageView
濱田 章吾
iOS 9 Bootcamp #6 UIKit
iOS 9 Bootcamp #6 UIKit
Shingo Hiraya
UIKitDynamicsの活用法
UIKitDynamicsの活用法
Shinji Kobayashi
iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)
Fumiya Sakai
BaseViewControllerは作りたくない
BaseViewControllerは作りたくない
今城 善矩
UI要素を動的に利用する
UI要素を動的に利用する
HideoMiyake
JavaScriptでいいじゃなイカ
JavaScriptでいいじゃなイカ
Yuuichi Akagawa
UIViewController in XIB + IBDesignable
UIViewController in XIB + IBDesignable
Fukaya Akifumi
Core Animation 使って見た
Core Animation 使って見た
OCHI Shuji
I phonedevws20121028ci filter
I phonedevws20121028ci filter
ZuQ9Nn
iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1
Kaname Noto
Pin-point rebuildable and non-rebuild custom widget
Pin-point rebuildable and non-rebuild custom widget
cch-robo
デザイナーとエンジニアが話す、iOSアプリケーション開発
デザイナーとエンジニアが話す、iOSアプリケーション開発
Kenta Ohsugi
Mapkitframework io9week
Mapkitframework io9week
Yuki Hirai
Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-
Unity Technologies Japan K.K.
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
Daisuke Yamashita
Semelhante a 魅せるUIの作り方 | iOS 7エンジニア勉強会
(20)
iOSで動画からスクショを撮る方法
iOSで動画からスクショを撮る方法
20131005 cocoa関西
20131005 cocoa関西
20121201yidev hirobe iPad miniでRetina
20121201yidev hirobe iPad miniでRetina
UIImagePickerController よもやま話
UIImagePickerController よもやま話
Titanium もくもく会第6回 Kii Cloud と TiGPUImageView
Titanium もくもく会第6回 Kii Cloud と TiGPUImageView
iOS 9 Bootcamp #6 UIKit
iOS 9 Bootcamp #6 UIKit
UIKitDynamicsの活用法
UIKitDynamicsの活用法
iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)
BaseViewControllerは作りたくない
BaseViewControllerは作りたくない
UI要素を動的に利用する
UI要素を動的に利用する
JavaScriptでいいじゃなイカ
JavaScriptでいいじゃなイカ
UIViewController in XIB + IBDesignable
UIViewController in XIB + IBDesignable
Core Animation 使って見た
Core Animation 使って見た
I phonedevws20121028ci filter
I phonedevws20121028ci filter
iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1
Pin-point rebuildable and non-rebuild custom widget
Pin-point rebuildable and non-rebuild custom widget
デザイナーとエンジニアが話す、iOSアプリケーション開発
デザイナーとエンジニアが話す、iOSアプリケーション開発
Mapkitframework io9week
Mapkitframework io9week
Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
Mais de Yahoo!デベロッパーネットワーク
ゼロから始める転移学習
ゼロから始める転移学習
Yahoo!デベロッパーネットワーク
継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator
Yahoo!デベロッパーネットワーク
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
Yahoo!デベロッパーネットワーク
オンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッション
Yahoo!デベロッパーネットワーク
LakeTahoe
LakeTahoe
Yahoo!デベロッパーネットワーク
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
Yahoo!デベロッパーネットワーク
Persistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability Feature
Yahoo!デベロッパーネットワーク
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
Yahoo!デベロッパーネットワーク
eコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtc
Yahoo!デベロッパーネットワーク
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
Yahoo!デベロッパーネットワーク
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo!デベロッパーネットワーク
ビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtc
Yahoo!デベロッパーネットワーク
サイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtc
Yahoo!デベロッパーネットワーク
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
Yahoo!デベロッパーネットワーク
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo!デベロッパーネットワーク
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
Yahoo!デベロッパーネットワーク
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
Yahoo!デベロッパーネットワーク
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
Yahoo!デベロッパーネットワーク
「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
Yahoo!デベロッパーネットワーク
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
Yahoo!デベロッパーネットワーク
Mais de Yahoo!デベロッパーネットワーク
(20)
ゼロから始める転移学習
ゼロから始める転移学習
継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
オンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッション
LakeTahoe
LakeTahoe
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
Persistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability Feature
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
eコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
ビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
魅せるUIの作り方 | iOS 7エンジニア勉強会
1.
魅せるUIの作り方 iOS 7 エンジニア勉強会@ヤフー 2013/10/7 カカオジャパン
佐藤新悟
2.
iOS 7 らしい
UI •フラットデザイン、それだけ? •物理法則にもとづいたリアルなアニ メーション •視差を利用した奥行きの表現 •磨りガラスのような透過表現
3.
UIKit Dynamics •UIKitのための2次元物理エンジン •これまでのアニメーションの仕組みを 置き換えるものではない •ゲームのためのものではない(Sprite Kitを使おう)
4.
Demo
5.
Gravity and Collision UIDynamicAnimator*
animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view]; UIGravityBehavior* gravityBeahvior = [[UIGravityBehavior alloc] initWithItems:@[square1,square2]]; UICollisionBehavior* collisionBehavior = [[UICollisionBehavior alloc] initWithItems:@[square1,square2]]; collisionBehavior.translatesReferenceBoundsIntoBoundary = YES; [animator addBehavior:gravityBeahvior]; [animator addBehavior:collisionBehavior];
6.
Architecture UIDynamicAnimator UIDynamicBehavior UIDynamicBehavior UIDynamicBehavior View
View View Reference View
7.
Architecture Subview Subview Subview Superview
8.
UIDynamicBehavior • UIGravityBehavior • UICollisionBehavior •
UIAttachmentBehavior • UISnapBehavior • UIPushBehavior • UIDynamicItemBehavior
9.
Demo
10.
UIGravityBehavior UIGravityBehavior* gravityBeahavior = [[UIGravityBehavior
alloc] initWithItems:@[self.square1]]; gravityBeahavior.gravityDirection = CGVectorMake(0.0f, 1.0f); gravityBeahavior.magnitude = 1.0f; gravityBeahavior.angle = -M_PI/2.0; •重力の強さと方向を設定可能
11.
UICollisionBehavior UICollisionBehavior* collisionBehavior = [[UICollisionBehavior
alloc] initWithItems: @[self.square1, self.square2]]; collisionBehavior.collisionMode = UICollisionBehaviorModeEverything; // UICollisionBehaviorModeBoundaries, UICollisionBehaviorModeItems CGPoint p0; CGPoint p1; [collisionBehavior addBoundaryWithIdentifier:@"b0" fromPoint:p0 toPoint:p1]; UIBezierPath *path; [collisionBehavior addBoundaryWithIdentifier:@"b1" forPath:path]; • view同士の衝突も可能 • CGPointで直線を指定、またはUIBezierPath を使って境界を追加可能
12.
UIAttachmentBehavior CGPoint anchorPoint =
CGPointMake(self.square1.center.x, self.square1.center.y - 100.0); UIOffset offset = UIOffsetMake(-25.0, -25.0); UIAttachmentBehavior* attachmentBehavior = [[UIAttachmentBehavior alloc] initWithItem:self.square1 offsetFromCenter:offset attachedToAnchor:anchorPoint]; attachmentBehavior.frequency = 1.0; attachmentBehavior.damping = 0.1; • view上の点と指定した点を繋ぐ • バネのように伸び縮みさせることもできる
13.
UISnapBehavior UISnapBehavior* snapBehavior = [[UISnapBehavior
alloc] initWithItem:self.square1 snapToPoint:point]; • viewを指定した点に吸い付くようにする
14.
UIPushBehavior typedef NS_ENUM(NSInteger, UIPushBehaviorMode)
{ UIPushBehaviorModeContinuous, UIPushBehaviorModeInstantaneous } UIPushBehavior *pushBehavior = [[UIPushBehavior alloc] initWithItems:@[self.square1] mode:UIPushBehaviorModeInstantaneous]; pushBehavior.angle = 0.0; pushBehavior.magnitude = 1.0; • 瞬間的に力を加える instantaneous と、継続 的に力を加える continuous のモードがある • 力の方向と強さを設定可能
15.
UIDynamicItemBehavior UIDynamicItemBehavior* propertiesBehavior = [[UIDynamicItemBehavior
alloc] initWithItems:@[self.square1]]; propertiesBehavior.elasticity = 0.5; • 指定したviewの特性を変える • elasticity: 弾性 • friction: 摩擦 • density: 密度(質量) • resistance: 抵抗 • angularResistance: 回転に対する抵抗 • allowsRotation: itemの回転を許すか否か
16.
Motion Effects •端末の傾きに応じて視差効果を与える
17.
Motion Effects
18.
UIMotionEffect UIInterpolatingMotionEffect *xAxis = [[UIInterpolatingMotionEffect
alloc] initWithKeyPath:@"center.x" type:UIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis]; xAxis.minimumRelativeValue = @(-20.0f); xAxis.maximumRelativeValue = @20.0f; UIInterpolatingMotionEffect *yAxis = [[UIInterpolatingMotionEffect alloc] initWithKeyPath:@"center.y" type:UIInterpolatingMotionEffectTypeTiltAlongVerticalAxis]; yAxis.minimumRelativeValue = @(-20.0f); yAxis.maximumRelativeValue = @20.0f; UIMotionEffectGroup *group = [[UIMotionEffectGroup alloc] init]; group.motionEffects = @[xAxis, yAxis]; [self.button addMotionEffect:group];
19.
Blur Effect
20.
Blur Effect • UIKit標準のコントロールは背景をぼかして透過する処 理を自動で行う •
APIは公開されていないので独自のviewで同じことをや るには自力で実装が必要 • WWDCのサンプルコードとしてUIImageのカテゴリが 配布されている (UIImage+ImageEffects) • 静止画を作るだけなので動的なコンテンツへの利用 は難しい • 静止画だけでも工夫次第でできることは多い
21.
Demo
22.
Blur Effect // viewのスナップショットを撮る UIGraphicsBeginImageContextWithOptions(self.view.frame.size,
NO, 0.0); [self.view drawViewHierarchyInRect:self.view.bounds afterScreenUpdates:NO]; UIImage *bgImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); // blurをかける bgImage = [bgImage applyLightEffect]; • -[CALayer renderInContext:] よりも高速
23.
(A) 背景view (B) 降りてくるview clipsToBounds
= YES (C) blurred image Bのsubview B の動きに合わせて C のframeを調整して 動かないように見せる
24.
まとめ • 物理法則にもとづいたリアルなアニメーション → UIKit
Dynamics • 視差を利用した奥行きの表現 → Motion Effects • 磨りガラスのような透過表現 • UIKit標準コントロールを利用 • 自前実装はパフォーマンスに注意
25.
参考資料 • UIKit Dynamics
Catalog https://developer.apple.com/library/ios/samplecode/DynamicsCatalog • WWDC 2013 sessions https://developer.apple.com/wwdc/videos/ • Getting Started with UIKit Dynamics • Advanced Techniques with UIKit Dynamics • Implementing Engaging UI on iOS (Motion Effects, Snapshot, Blur) • WWDC 2013 Sample Codes https://developer.apple.com/wwdc/resources/ • iOS_RunningWithASnap • iOS_UIImageEffects (ぼかし用UIImageカテゴリ)
Baixar agora