SlideShare a Scribd company logo
UIPageViewControllerとContainerViewで

こんな見た目を実現するTips
集まれSwift好き!Swift愛好会	#6

2016/04/24	Fumiya	Sakai
自己紹介と簡単な経歴など
✦ 今までの仕事履歴(本業)
石川県金沢市生まれ
本業はサーバーサイドのプログラマ	※Rails&PHP使い
26歳〜31歳: Webプログラマ(PHP	&	Rubyがキャリア長い)
23歳〜25歳: Webデザイナー兼ディレクター
チャンスがあればiOSアプリ開発も絶賛やってみたい!
趣味:シルバーアクセサリー集め・スイーツ作り・アプリ開発
女子向け・グルメ・エンタメ関連のお仕事が多い
Qiita	:	http://qiita.com/fumiyasac@github
Github	:	https://github.com/fumiyasac
✦ 酒井文也(さかい	ふみや)
東京(大塚)住まいの31歳
こんな格好を普段からしているので

遊び人に見られますがエンジニアです。
文系卒に思われますが

実は数学科で理系卒です。
めっちゃお酒好きそうに見えますが

ビール苦手でお酒も超弱いです。
今でもたまにUIまわりとか触りたく

なることがあったりなかったり
今年の4月からフリーランスです。

(今は渋谷のとある会社にいます)
最近のはまっている食べ物は

カボチャと担々麺です。
最近はSwift以外ではRailsやLaravel・CakePHP・Node.jsなんかも
これまでに作ったもの(ネイティブアプリ)
①	簡易家計簿アプリ「Coffre」
②	ゲームアプリ「10秒虫食い算」
・カレンダーを自作しています
・シンプルなお小遣い帳感覚で支出管理できます
・全問正解者ほとんどいません…
・不定期ですがコラムも書いています
・サーバーサイドはRuby	on	Railsを使用
http://www.coffre.me/
・デザインにもこだわってみました(特にグラフ)
・実はちょっとバグがあります。
・問題は今後追加予定(現在110問収録)
個人的にはなりますが、他にもアプリ・Webサービスなど開発中です(2016年も宜しくお願いします)
・サイト等は次回のアップデートで公開予定
http://blog.just1factory.net/services/284
・若干の中毒性を含みます
✦ ViewControllerをひとまとめにして扱ってくれる優れもの
UIPageViewControllerについての基礎知識
・アプリの最初のチュートリアル画面もよく用いられる表現方法
・ニュースメディアアプリやキュレーションアプリのタブと連動させて中を変えるUIにも使われる
親のViewControllerが子のViewController達を管理してくれるので、ViewControllerの責務を明確にできる
★それぞれの子のViewControllerの独立性を維持しながら切り替えることが可能
✦ ContainerViewを活用するとUIを作る幅が広がる場面も
ContainerViewについての基礎知識
多用禁物だけどViewControllerを重ねる場合や親のViewControllerの一部に別の部品を表示する場合に便利
★組み合わせ方でUIPageViewControllerみたいなものや重なりを表現することも可能
・UIScrollView	+	ContainerViewを使用してUIPageViewControllerのような動きももちろん可能
・隠れているメニューをメイン側のボタンから操作して表示させるようなUIの表現もできる
✦ PageViewControllerとContainerViewのサンプル2種類
今回のサンプルの概要
PageViewControllerはコードでレイアウト・ContainerViewのものはAutoLayoutとコード配置の合わせ技で
★どちらも似たような動きをしているものですが、実装の違いを見極めてみよう
・ViewController同士の重なりを考慮する場合はContainerViewを使うときれいにまとめられる
ハンバーガーボタンを押すと

下に隠れているメニューの部分が表示
ページをめくるようなここは、

(.PageCurl)で実現	※デフォルト
UIScrollView	+	Containerで

スクロールでコンテンツ切り替え
上のタブコンテンツに連動して

動くラベルとコンテンツが連動
UIPageViewControllerで

コンテンツ切り替え
・UIPageViewControllerはViewControllerの管理と切り替え
✦ 今回もサンプルと詳細な解説をご用意しました
サンプルはこちら
間違いやご指摘・もしくはもっとエレガントな実装のアイデアやご提案がありましたら是非ぜひお気軽に!
★サンプルはこちら
・組み方の手法やTipsに関しては色々手法があるので一つの解として捉えて頂ければ幸いです。
・UI系のライブラリに近しい動きをできるだけ強引に再現してみた形になります。
・Github:	https://github.com/fumiyasac/CustomizeUISample
★詳細な解説はこちら
iPhoneアプリでUIを作るためのTipsとContainerView・UIPageViewControllerを使ったサンプル紹介
・Qiita:	http://qiita.com/fumiyasac@github/items/1244abc8e3286c47ef50
★(参考)AutoLayoutを用いないで実装した例
メディア系アプリでよくあるUIを実現した簡易サンプル
・Qiita:	http://qiita.com/fumiyasac@github/items/2490990be4c011935368
・Github:	https://github.com/fumiyasac/mediaStyleContainer
✦ Storyboardに作成したViewControllerをひとまとめにする
PageViewControllerを使用したサンプル解説
PageViewControllerに入れるViewControllerを管理する際にはViewControllerのリストを追加する必要あり
★PageViewControllerで管理するViewControllerの一覧を取得する
・今回はUIPageViewControllerクラスを使う部分についてはコードで配置する方針
・各ViewControllerの”Identifier”をもとに追加対象のViewController達のリストを作成
//UIPageViewControllerに配置するUIViewControllerクラスの名称
static let pageControllerIdentifierList : [String] = [
"FirstViewController",
"SecondViewController",
"ThirdViewController",
"FourthViewController",
"FifthViewController",
"SixthViewController"
]
//UIPageViewControllerに追加するViewControllerのリストを生成する
static func generateViewControllerList() -> [UIViewController] {
var viewControllers : [UIViewController] = []
self.pageControllerIdentifierList.forEach { viewControllerName in
//ViewControllerのIdentifierからViewControllerを作る
let viewController = UIStoryboard(name: "Main", bundle: nil) .
instantiateViewControllerWithIdentifier("(viewControllerName)")
viewControllers.append(viewController)
}
return viewControllers
}
子のViewControllerに

Identifierをつけておく
✦ UIPageViewControllerのインスタンスの初期化〜配置まで
PageViewControllerを使用したサンプル解説
UIPageViewControllerのインスタンス生成時とsetViewControllersが実装時の大きなポイントになる!
★ViewDidLoad内で行う処理の概要は初期化と読み込まれた際の表示に関する事など
・初期化→デリゲートの設定→初めに見せるViewControllerの決定→pageViewControllerの配置
・transitionStyleやnavigationOrientationで子のViewControllerの切り替え時の見た目を設定する
override func viewDidLoad() {
super.viewDidLoad()
//・・・(その他の副次的な部分は省略)・・・
//UIPageViewControllerの設定
// * .Scrollだと のキャッシュ問題が発生
self.pageViewController = UIPageViewController(transitionStyle: .PageCurl, navigationOrientation: .Horizontal, options: nil)
//UIPageViewControllerのデリゲート
self.pageViewController.delegate = self
self.pageViewController.dataSource = self
//UIPageViewControllerの初期の位置を決める
self.pageViewController.setViewControllers([PageSettings.generateViewControllerList().first!], direction: .Forward, animated:
false, completion: nil)
//UIPageViewControllerを子のViewControllerとして登録
self.addChildViewController(self.pageViewController)
//UIPageViewControllerを配置
self.view.addSubview(self.pageViewController.view)
}
	引数の意味:

	・第1引数:ページ送りする際のスタイル設定(.PageCurl:ページめくり	/	.Scroll:スクロール)	

	・第2引数:ページ送りの方向設定(.Horizontal:水平方向	/	.Vertical:垂直方向)

	・第3引数:その他オプション設定
	引数の意味:

	・第1引数:表示対象のViewController

	・第2引数:アニメーション方向(.Forward	or.Reverse)

	・第3引数:アニメーションの有無

	・第4引数:完了時の処理
✦ viewDidLayoutSubViews()内で大きさを再定義する
PageViewControllerを使用したサンプル解説
AutoLayout時はUIViewControllerやUIViewのライフサイクルを利用する	or	制約をコードで指定して配置
★UIViewControllerのライフサイクルを利用して位置を決めていく
・AutoLayout使用時はviewDidLoad	or	viewWillAppear内でCGRectMakeメソッド等で位置を決められない
・本当はAutoLayoutの制約をコードで配置する方法が望ましいのかもしれない・・・
//レイアウト処理が完了した際の処理
override func viewDidLayoutSubviews() {
//UIScrollViewのサイズを変更する
self.menuScrollView.frame = CGRectMake(
CGFloat(0), CGFloat(PageSettings.menuScrollViewY), CGFloat(self.view.frame.width), CGFloat(PageSettings.menuScrollViewH)
)
//UIPageViewControllerのサイズを変更する
//サイズの想定 →(X座標:0, Y座標:[UIScrollViewのY座標+高さ], 幅:[おおもとのViewの幅], 高さ:[おおもとのViewの高さ] - [UIScrollViewのY座標+
高さ])
self.pageViewController.view.frame = CGRectMake(
CGFloat(0), CGFloat(self.menuScrollView.frame.origin.y + self.menuScrollView.frame.height),
CGFloat(self.view.frame.width), CGFloat(self.view.frame.height - (self.menuScrollView.frame.origin.y +
self.menuScrollView.frame.height))
)
self.pageViewController.view.backgroundColor = UIColor.grayColor()
self.menuScrollView.backgroundColor = UIColor.lightGrayColor()
//UIScrollViewの初期設定 ※コード省略・・・
//UIScrollViewへのボタンの配置 ※コード省略・・・
//動くラベルの配置 ※コード省略・・・
}
・UIPageViewControllerのライフサイクルについて:

	http://qiita.com/mo_to_44/items/0ca628b4cc74c8c5599d

・UIViewのレイアウト周りの処理はviewDidLayoutSubViewsの内部でやった方がいい

	http://furodrive.com/2014/10/how_to_access_iboutlet/
✦ スワイプ操作で表示するViewControllerの切り替え
PageViewControllerを使用したサンプル解説
AutoLayout時はUIViewControllerやUIViewのライフサイクルを利用する	or	制約をコードで指定して配置
★UIPageViewDatasourceのメソッドを活用する
・前のページに送る	→	viewControllerBeforeViewController
・次のページに送る	→	viewControllerAfterViewController
//ページを次にめくった際に実行される処理
func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController:
UIViewController) -> UIViewController? {
let targetViewControllers : [UIViewController] = PageSettings.generateViewControllerList()
if self.viewControllerIndex == targetViewControllers.count - 1 {
return nil
} else {
self.viewControllerIndex = self.viewControllerIndex + 1
}
//スクロールビューとボタンを押されたボタンに応じて移動する
self.moveToCurrentButtonScrollView(self.viewControllerIndex)
self.moveToCurrentButtonLabel(self.viewControllerIndex)
return targetViewControllers[self.viewControllerIndex]
}
	実装のポイント

	・メンバ変数viewControllerIndexの値をviewControllerAfterViewControllerは+1,	viewControllerBeforeViewControllerは-1する

	・UIViewControllerのリストからメンバ変数viewControllerIndexの値のところのものを取得する

	・戻り値はUIViewController型になる
✦ ScrollViewで配置されているボタンでViewControllerの切り替え
PageViewControllerを使用したサンプル解説
ScrollViewとの連携も意外としやすい印象。PageViewControllerを活用して様々なUIの幅が広がると思う!
★ボタンがタップされたタイミングでsetViewControllersメソッドを呼び出す
・ScrollView内にボタンを設置するタイミングでタグを仕込みその値を活用する
・setViewControllersメソッドの第3引数をtrueにして切り替えるタイミングにページめくりをつける
//ボタンをタップした際に行われる処理
func buttonTapped(button: UIButton){
//押されたボタンのタグを取得
let page: Int = button.tag
//UIPageViewControllerのから表示対象を決定する
if self.viewControllerIndex != page {
self.pageViewController.setViewControllers([PageSettings.generateViewControllerList()[page]], direction: .Forward, animated:
true, completion: nil)
self.viewControllerIndex = page
//スクロールビューとボタンを押されたボタンに応じて移動する
self.moveToCurrentButtonScrollView(page)
self.moveToCurrentButtonLabel(page)
}
}
	実装のポイント

	・ScrollView内にボタンを配置する際にタグを設定しておく

	・ボタンに設定したタグの値をもとに表示するViewControllerを決定する(setViewControllersでその処理を行っている)
animated:	trueにして

切り替えの際にアニメーション
✦ 土台となるViewControllerに2つのContainerViewを配置
ContainerViewを使用したサンプル解説
・重なり順は下から「メイン」→「メニュー」→「透明ボタン」となる
・viewDidLoad内で各々の要素に対する初期設定、viewDidLayoutSubviews内で要素の位置を再定義
それぞれのViewController同士を重ねて1つの画面内で表示したい場合にはContainerViewが活躍する!
★メニュー部分とメイン部分のContainerViewの配置と制約付けを行う
SideContentsController.swift
BaseContentsController.swift
✦ コンテンツ用のContainerViewにつながっているViewController
ContainerViewを使用したサンプル解説
・初期配置やAutoLayoutの制約に関しては上記の制約を参考にしてください
・大まかな枠組み部分はAutoLayout・ボタンの配置やScrollViewの設定についてはコードで実装
上記の方針が本当に正しいかは実際のところ自信がなかったりする…(ベストプラクティス的なものは?)
★メイン部分(BaseContentsController.swift)のパーツ配置と制約付けを行う
✦ 配置したScrollView内にContainerViewを配置する
ContainerViewを使用したサンプル解説
・AutoLayout	+	ScrollViewの組み合わせはハマりやすいポイントの典型例
・ContainerViewから「Control+ドラッグ」をして親のScrollViewにカーソルを当てEqual	Widths(Heights)
上記の方針が本当に正しいかは実際のところ自信がなかったりする…(ベストプラクティス的なものは?)
★ScrollView内にコンテンツ用のContainerを配置する
Simulated	Sizeを

Freeformのwidth:3600
ここでライブコーディングします!
5分間お時間をくださいm(_	_)m
✦ 自力での実装に疲れそうなら進んで活用すべし!
UI系で気になるライブラリピックアップ
開発者の方々には本当に感謝しております!一同、素晴らしい開発者の皆様に礼!(おれもいつかは作る!)
★UIまわりのライブラリ4選
・RMPScrollingMenuBarController
https://github.com/recruit-mp/RMPScrollingMenuBarController
http://tech.vasily.jp/entry/tab_page_viewcontroller
・PagingMenuController
https://github.com/kitasuke/PagingMenuController
・PageMenu
https://github.com/HighBay/PageMenu
・TabPageViewController
https://github.com/EndouMari/TabPageViewController
<上記に関する紹介記事的なもの>
・UIPageViewControllerをつかって無限スクロールできるタブUIを実装してOSSとして公開しました
http://animane.hatenablog.com/entry/2015/09/27/133859
・SmartNewsのようなUIを実現するライブラリ3つを比較してみた
✦ 本にはなかなか載ってない部分だけど活用できると面白い!
今回のまとめ
ご清聴ありがとうございました!またこのような機会があった際には是非ともよろしくお願い致します!
★UIPageViewControllerやContainerViewを知ると気になるUI実装へ近づく
・自力での実装	or	ライブラリ活用の選択に関する決め手の落とし所は引き続き研究中…
・UI系の優れたライブラリのコードを読むと実装のヒントやUIKitへの理解が深まるので面白いです
それぞれの持つ特徴や特性を公式リファレンス等で確認しておくと役に立つ
★AutoLayoutやUIViewControllerのライフサイクルに関しても確認
AutoLayoutでの制約のつけ方の理解やライフサイクルへの理解も重要ポイント
★はまりやすいレイアウトの事例についても事前に知っておく
ScorllViewとAutoLayoutの組み合わせ等の定番ものがあったりするので注意が必要
★UI系のライブラリの実装方法や中のコードについても見てみる
知っておくと役に立つ&汎用的なものも数多くあるのでチェックしておく

More Related Content

What's hot

やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
 
Grails 3.0先取り!? Spring Boot入門ハンズオン #jggug_boot
Grails 3.0先取り!? Spring Boot入門ハンズオン #jggug_bootGrails 3.0先取り!? Spring Boot入門ハンズオン #jggug_boot
Grails 3.0先取り!? Spring Boot入門ハンズオン #jggug_boot
Toshiaki Maki
 
なぜリアクティブは重要か #ScalaMatsuri
なぜリアクティブは重要か #ScalaMatsuriなぜリアクティブは重要か #ScalaMatsuri
なぜリアクティブは重要か #ScalaMatsuri
Yuta Okamoto
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
disc99_
 
C#でわかる こわくないMonad
C#でわかる こわくないMonadC#でわかる こわくないMonad
C#でわかる こわくないMonad
Kouji Matsui
 
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
VirtualTech Japan Inc.
 
RPGにおけるイベント駆動型の設計と実装
RPGにおけるイベント駆動型の設計と実装RPGにおけるイベント駆動型の設計と実装
RPGにおけるイベント駆動型の設計と実装
Koji Morikawa
 
iOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいことiOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいこと
asakahara
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
gree_tech
 
実践!Django + GraphQL 実装
実践!Django + GraphQL 実装実践!Django + GraphQL 実装
実践!Django + GraphQL 実装
ssuseraf19bf
 
iOSでのFramework導入のおさらい #関モバ
iOSでのFramework導入のおさらい #関モバiOSでのFramework導入のおさらい #関モバ
iOSでのFramework導入のおさらい #関モバ
Syo Ikeda
 
サービス開発における フロントエンド・ドメイン駆動設計の実践
サービス開発における フロントエンド・ドメイン駆動設計の実践サービス開発における フロントエンド・ドメイン駆動設計の実践
サービス開発における フロントエンド・ドメイン駆動設計の実践
TakefumiYoshii
 
Java + React.jsでSever Side Rendering #reactjs_meetup
Java + React.jsでSever Side Rendering #reactjs_meetupJava + React.jsでSever Side Rendering #reactjs_meetup
Java + React.jsでSever Side Rendering #reactjs_meetup
Toshiaki Maki
 
JIRA / Confluence の 必須プラグインはこれだ
JIRA / Confluence の必須プラグインはこれだJIRA / Confluence の必須プラグインはこれだ
JIRA / Confluence の 必須プラグインはこれだ
Narichika Kajihara
 
構成情報データベースをGitで管理したいネットワーク運用者の憂鬱
構成情報データベースをGitで管理したいネットワーク運用者の憂鬱構成情報データベースをGitで管理したいネットワーク運用者の憂鬱
構成情報データベースをGitで管理したいネットワーク運用者の憂鬱
Yuya Rin
 
SKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジーSKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジー
Yuji Otani
 
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
 
大規模CSVをMySQLに入れる
大規模CSVをMySQLに入れる大規模CSVをMySQLに入れる
大規模CSVをMySQLに入れるShuhei Iitsuka
 
go generate 完全入門
go generate 完全入門go generate 完全入門
go generate 完全入門
yaegashi
 
設計書自動生成への取り組み~手書き設計書から脱却するには?~
設計書自動生成への取り組み~手書き設計書から脱却するには?~設計書自動生成への取り組み~手書き設計書から脱却するには?~
設計書自動生成への取り組み~手書き設計書から脱却するには?~
SystemIntegrator2
 

What's hot (20)

やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
 
Grails 3.0先取り!? Spring Boot入門ハンズオン #jggug_boot
Grails 3.0先取り!? Spring Boot入門ハンズオン #jggug_bootGrails 3.0先取り!? Spring Boot入門ハンズオン #jggug_boot
Grails 3.0先取り!? Spring Boot入門ハンズオン #jggug_boot
 
なぜリアクティブは重要か #ScalaMatsuri
なぜリアクティブは重要か #ScalaMatsuriなぜリアクティブは重要か #ScalaMatsuri
なぜリアクティブは重要か #ScalaMatsuri
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
 
C#でわかる こわくないMonad
C#でわかる こわくないMonadC#でわかる こわくないMonad
C#でわかる こわくないMonad
 
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
 
RPGにおけるイベント駆動型の設計と実装
RPGにおけるイベント駆動型の設計と実装RPGにおけるイベント駆動型の設計と実装
RPGにおけるイベント駆動型の設計と実装
 
iOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいことiOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいこと
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
 
実践!Django + GraphQL 実装
実践!Django + GraphQL 実装実践!Django + GraphQL 実装
実践!Django + GraphQL 実装
 
iOSでのFramework導入のおさらい #関モバ
iOSでのFramework導入のおさらい #関モバiOSでのFramework導入のおさらい #関モバ
iOSでのFramework導入のおさらい #関モバ
 
サービス開発における フロントエンド・ドメイン駆動設計の実践
サービス開発における フロントエンド・ドメイン駆動設計の実践サービス開発における フロントエンド・ドメイン駆動設計の実践
サービス開発における フロントエンド・ドメイン駆動設計の実践
 
Java + React.jsでSever Side Rendering #reactjs_meetup
Java + React.jsでSever Side Rendering #reactjs_meetupJava + React.jsでSever Side Rendering #reactjs_meetup
Java + React.jsでSever Side Rendering #reactjs_meetup
 
JIRA / Confluence の 必須プラグインはこれだ
JIRA / Confluence の必須プラグインはこれだJIRA / Confluence の必須プラグインはこれだ
JIRA / Confluence の 必須プラグインはこれだ
 
構成情報データベースをGitで管理したいネットワーク運用者の憂鬱
構成情報データベースをGitで管理したいネットワーク運用者の憂鬱構成情報データベースをGitで管理したいネットワーク運用者の憂鬱
構成情報データベースをGitで管理したいネットワーク運用者の憂鬱
 
SKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジーSKYDISCのIoTを支えるテクノロジー
SKYDISCのIoTを支えるテクノロジー
 
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
 
大規模CSVをMySQLに入れる
大規模CSVをMySQLに入れる大規模CSVをMySQLに入れる
大規模CSVをMySQLに入れる
 
go generate 完全入門
go generate 完全入門go generate 完全入門
go generate 完全入門
 
設計書自動生成への取り組み~手書き設計書から脱却するには?~
設計書自動生成への取り組み~手書き設計書から脱却するには?~設計書自動生成への取り組み~手書き設計書から脱却するには?~
設計書自動生成への取り組み~手書き設計書から脱却するには?~
 

Similar to UIPageViewControllerとContainerViewでこんな見た目を実現するTips

ContainerViewとStoryboardとSwift3.0の交響曲(シンフォニー)
ContainerViewとStoryboardとSwift3.0の交響曲(シンフォニー)ContainerViewとStoryboardとSwift3.0の交響曲(シンフォニー)
ContainerViewとStoryboardとSwift3.0の交響曲(シンフォニー)
Fumiya Sakai
 
指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説
指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説
指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説
Fumiya Sakai
 
カスタムトランジションやアニメーションを活用した「写真を生かすUI」のサンプル
カスタムトランジションやアニメーションを活用した「写真を生かすUI」のサンプルカスタムトランジションやアニメーションを活用した「写真を生かすUI」のサンプル
カスタムトランジションやアニメーションを活用した「写真を生かすUI」のサンプル
Fumiya Sakai
 
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
Fumiya Sakai
 
カスタムトランジションやジェスチャーを生かしたUIの実装ポイント
カスタムトランジションやジェスチャーを生かしたUIの実装ポイントカスタムトランジションやジェスチャーを生かしたUIの実装ポイント
カスタムトランジションやジェスチャーを生かしたUIの実装ポイント
Fumiya Sakai
 
実装とアプリ開発と独学でiOSアプリ開発と向き合うこと
実装とアプリ開発と独学でiOSアプリ開発と向き合うこと実装とアプリ開発と独学でiOSアプリ開発と向き合うこと
実装とアプリ開発と独学でiOSアプリ開発と向き合うこと
Fumiya Sakai
 
LaravelでDBを使用しないbasic認証を簡単につくるtips
LaravelでDBを使用しないbasic認証を簡単につくるtipsLaravelでDBを使用しないbasic認証を簡単につくるtips
LaravelでDBを使用しないbasic認証を簡単につくるtips
Fumiya Sakai
 
デザイナーだった記憶を忘れないために自分なりに気をつけていること
デザイナーだった記憶を忘れないために自分なりに気をつけていることデザイナーだった記憶を忘れないために自分なりに気をつけていること
デザイナーだった記憶を忘れないために自分なりに気をつけていること
Fumiya Sakai
 
Ruby on railsでlinebotを試した記録
Ruby on railsでlinebotを試した記録Ruby on railsでlinebotを試した記録
Ruby on railsでlinebotを試した記録
Fumiya Sakai
 
RxSwiftでの実装練習の記録ノートとはじめの一歩
RxSwiftでの実装練習の記録ノートとはじめの一歩RxSwiftでの実装練習の記録ノートとはじめの一歩
RxSwiftでの実装練習の記録ノートとはじめの一歩
Fumiya Sakai
 
NativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみた
NativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみたNativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみた
NativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみた
Fumiya Sakai
 
30代からのプライベートiOSデベロッパーのとしての軌跡
30代からのプライベートiOSデベロッパーのとしての軌跡30代からのプライベートiOSデベロッパーのとしての軌跡
30代からのプライベートiOSデベロッパーのとしての軌跡
Fumiya Sakai
 
Rails5とAPIモードについての解説
Rails5とAPIモードについての解説Rails5とAPIモードについての解説
Rails5とAPIモードについての解説
Fumiya Sakai
 
Container view活用術とポイントになる部分
Container view活用術とポイントになる部分Container view活用術とポイントになる部分
Container view活用術とポイントになる部分
Fumiya Sakai
 
デザインにもこだわったUiの事始め3
デザインにもこだわったUiの事始め3デザインにもこだわったUiの事始め3
デザインにもこだわったUiの事始め3
Fumiya Sakai
 
デザインにもこだわったUIの事始め (Episode1)
デザインにもこだわったUIの事始め (Episode1)デザインにもこだわったUIの事始め (Episode1)
デザインにもこだわったUIの事始め (Episode1)
Fumiya Sakai
 
あのアプリの動きをUIKitのみでDIYしてみる(part2)
あのアプリの動きをUIKitのみでDIYしてみる(part2)あのアプリの動きをUIKitのみでDIYしてみる(part2)
あのアプリの動きをUIKitのみでDIYしてみる(part2)
Fumiya Sakai
 
Firebaseでのファイルアップロード処理と便利ライブラリの紹介
Firebaseでのファイルアップロード処理と便利ライブラリの紹介Firebaseでのファイルアップロード処理と便利ライブラリの紹介
Firebaseでのファイルアップロード処理と便利ライブラリの紹介
Fumiya Sakai
 
時間制限付きクイズアプリをつくる
時間制限付きクイズアプリをつくる時間制限付きクイズアプリをつくる
時間制限付きクイズアプリをつくる
Fumiya Sakai
 
Railsの現場に入る前のお話(勉強法)
Railsの現場に入る前のお話(勉強法)Railsの現場に入る前のお話(勉強法)
Railsの現場に入る前のお話(勉強法)
Fumiya Sakai
 

Similar to UIPageViewControllerとContainerViewでこんな見た目を実現するTips (20)

ContainerViewとStoryboardとSwift3.0の交響曲(シンフォニー)
ContainerViewとStoryboardとSwift3.0の交響曲(シンフォニー)ContainerViewとStoryboardとSwift3.0の交響曲(シンフォニー)
ContainerViewとStoryboardとSwift3.0の交響曲(シンフォニー)
 
指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説
指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説
指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説
 
カスタムトランジションやアニメーションを活用した「写真を生かすUI」のサンプル
カスタムトランジションやアニメーションを活用した「写真を生かすUI」のサンプルカスタムトランジションやアニメーションを活用した「写真を生かすUI」のサンプル
カスタムトランジションやアニメーションを活用した「写真を生かすUI」のサンプル
 
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
 
カスタムトランジションやジェスチャーを生かしたUIの実装ポイント
カスタムトランジションやジェスチャーを生かしたUIの実装ポイントカスタムトランジションやジェスチャーを生かしたUIの実装ポイント
カスタムトランジションやジェスチャーを生かしたUIの実装ポイント
 
実装とアプリ開発と独学でiOSアプリ開発と向き合うこと
実装とアプリ開発と独学でiOSアプリ開発と向き合うこと実装とアプリ開発と独学でiOSアプリ開発と向き合うこと
実装とアプリ開発と独学でiOSアプリ開発と向き合うこと
 
LaravelでDBを使用しないbasic認証を簡単につくるtips
LaravelでDBを使用しないbasic認証を簡単につくるtipsLaravelでDBを使用しないbasic認証を簡単につくるtips
LaravelでDBを使用しないbasic認証を簡単につくるtips
 
デザイナーだった記憶を忘れないために自分なりに気をつけていること
デザイナーだった記憶を忘れないために自分なりに気をつけていることデザイナーだった記憶を忘れないために自分なりに気をつけていること
デザイナーだった記憶を忘れないために自分なりに気をつけていること
 
Ruby on railsでlinebotを試した記録
Ruby on railsでlinebotを試した記録Ruby on railsでlinebotを試した記録
Ruby on railsでlinebotを試した記録
 
RxSwiftでの実装練習の記録ノートとはじめの一歩
RxSwiftでの実装練習の記録ノートとはじめの一歩RxSwiftでの実装練習の記録ノートとはじめの一歩
RxSwiftでの実装練習の記録ノートとはじめの一歩
 
NativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみた
NativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみたNativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみた
NativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみた
 
30代からのプライベートiOSデベロッパーのとしての軌跡
30代からのプライベートiOSデベロッパーのとしての軌跡30代からのプライベートiOSデベロッパーのとしての軌跡
30代からのプライベートiOSデベロッパーのとしての軌跡
 
Rails5とAPIモードについての解説
Rails5とAPIモードについての解説Rails5とAPIモードについての解説
Rails5とAPIモードについての解説
 
Container view活用術とポイントになる部分
Container view活用術とポイントになる部分Container view活用術とポイントになる部分
Container view活用術とポイントになる部分
 
デザインにもこだわったUiの事始め3
デザインにもこだわったUiの事始め3デザインにもこだわったUiの事始め3
デザインにもこだわったUiの事始め3
 
デザインにもこだわったUIの事始め (Episode1)
デザインにもこだわったUIの事始め (Episode1)デザインにもこだわったUIの事始め (Episode1)
デザインにもこだわったUIの事始め (Episode1)
 
あのアプリの動きをUIKitのみでDIYしてみる(part2)
あのアプリの動きをUIKitのみでDIYしてみる(part2)あのアプリの動きをUIKitのみでDIYしてみる(part2)
あのアプリの動きをUIKitのみでDIYしてみる(part2)
 
Firebaseでのファイルアップロード処理と便利ライブラリの紹介
Firebaseでのファイルアップロード処理と便利ライブラリの紹介Firebaseでのファイルアップロード処理と便利ライブラリの紹介
Firebaseでのファイルアップロード処理と便利ライブラリの紹介
 
時間制限付きクイズアプリをつくる
時間制限付きクイズアプリをつくる時間制限付きクイズアプリをつくる
時間制限付きクイズアプリをつくる
 
Railsの現場に入る前のお話(勉強法)
Railsの現場に入る前のお話(勉強法)Railsの現場に入る前のお話(勉強法)
Railsの現場に入る前のお話(勉強法)
 

More from Fumiya Sakai

RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
Fumiya Sakai
 
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒントiOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
Fumiya Sakai
 
少しずつ手厚くして不具合や仕様漏れを防ぐために
少しずつ手厚くして不具合や仕様漏れを防ぐために少しずつ手厚くして不具合や仕様漏れを防ぐために
少しずつ手厚くして不具合や仕様漏れを防ぐために
Fumiya Sakai
 
Measures for Growth with Firebase Remote Config & Unit Testing Using RxSwift
Measures for Growth with Firebase Remote Config & Unit Testing Using RxSwiftMeasures for Growth with Firebase Remote Config & Unit Testing Using RxSwift
Measures for Growth with Firebase Remote Config & Unit Testing Using RxSwift
Fumiya Sakai
 
2022年の抱負とここ数年続けてきたインプット
2022年の抱負とここ数年続けてきたインプット2022年の抱負とここ数年続けてきたインプット
2022年の抱負とここ数年続けてきたインプット
Fumiya Sakai
 
既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった
既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった
既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった
Fumiya Sakai
 
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
Fumiya Sakai
 
UI実装に関するセッションを 簡単ながら振り返ってみる(仮)
UI実装に関するセッションを 簡単ながら振り返ってみる(仮)UI実装に関するセッションを 簡単ながら振り返ってみる(仮)
UI実装に関するセッションを 簡単ながら振り返ってみる(仮)
Fumiya Sakai
 
最近の業務やAndroid関連のインプットと振り返り
最近の業務やAndroid関連のインプットと振り返り最近の業務やAndroid関連のインプットと振り返り
最近の業務やAndroid関連のインプットと振り返り
Fumiya Sakai
 
少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り
少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り
少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り
Fumiya Sakai
 
少しずつキャッチアップしていくAndroidアプリ開発
少しずつキャッチアップしていくAndroidアプリ開発少しずつキャッチアップしていくAndroidアプリ開発
少しずつキャッチアップしていくAndroidアプリ開発
Fumiya Sakai
 
UIKitやSwiftUIで表現や動きが特徴的なUI実装事例を考察する
UIKitやSwiftUIで表現や動きが特徴的なUI実装事例を考察するUIKitやSwiftUIで表現や動きが特徴的なUI実装事例を考察する
UIKitやSwiftUIで表現や動きが特徴的なUI実装事例を考察する
Fumiya Sakai
 
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞくレイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
Fumiya Sakai
 
iOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分について
iOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分についてiOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分について
iOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分について
Fumiya Sakai
 
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
Fumiya Sakai
 
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
Fumiya Sakai
 
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
Fumiya Sakai
 
アプリ開発におけるテキスト装飾のアイデア集
アプリ開発におけるテキスト装飾のアイデア集アプリ開発におけるテキスト装飾のアイデア集
アプリ開発におけるテキスト装飾のアイデア集
Fumiya Sakai
 
ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介
ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介
ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介
Fumiya Sakai
 
部品に切り分けて考えるView構造とライブラリを上手に活用したUI実装
部品に切り分けて考えるView構造とライブラリを上手に活用したUI実装部品に切り分けて考えるView構造とライブラリを上手に活用したUI実装
部品に切り分けて考えるView構造とライブラリを上手に活用したUI実装
Fumiya Sakai
 

More from Fumiya Sakai (20)

RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
RxDataSourceをNSDiffableDataSourceへ置き換える際のTips集紹介
 
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒントiOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
 
少しずつ手厚くして不具合や仕様漏れを防ぐために
少しずつ手厚くして不具合や仕様漏れを防ぐために少しずつ手厚くして不具合や仕様漏れを防ぐために
少しずつ手厚くして不具合や仕様漏れを防ぐために
 
Measures for Growth with Firebase Remote Config & Unit Testing Using RxSwift
Measures for Growth with Firebase Remote Config & Unit Testing Using RxSwiftMeasures for Growth with Firebase Remote Config & Unit Testing Using RxSwift
Measures for Growth with Firebase Remote Config & Unit Testing Using RxSwift
 
2022年の抱負とここ数年続けてきたインプット
2022年の抱負とここ数年続けてきたインプット2022年の抱負とここ数年続けてきたインプット
2022年の抱負とここ数年続けてきたインプット
 
既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった
既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった
既存プロジェクトで使っていたDIをお引っ越し&DIYすることになった
 
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
 
UI実装に関するセッションを 簡単ながら振り返ってみる(仮)
UI実装に関するセッションを 簡単ながら振り返ってみる(仮)UI実装に関するセッションを 簡単ながら振り返ってみる(仮)
UI実装に関するセッションを 簡単ながら振り返ってみる(仮)
 
最近の業務やAndroid関連のインプットと振り返り
最近の業務やAndroid関連のインプットと振り返り最近の業務やAndroid関連のインプットと振り返り
最近の業務やAndroid関連のインプットと振り返り
 
少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り
少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り
少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り
 
少しずつキャッチアップしていくAndroidアプリ開発
少しずつキャッチアップしていくAndroidアプリ開発少しずつキャッチアップしていくAndroidアプリ開発
少しずつキャッチアップしていくAndroidアプリ開発
 
UIKitやSwiftUIで表現や動きが特徴的なUI実装事例を考察する
UIKitやSwiftUIで表現や動きが特徴的なUI実装事例を考察するUIKitやSwiftUIで表現や動きが特徴的なUI実装事例を考察する
UIKitやSwiftUIで表現や動きが特徴的なUI実装事例を考察する
 
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞくレイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
 
iOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分について
iOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分についてiOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分について
iOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分について
 
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
 
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
 
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
 
アプリ開発におけるテキスト装飾のアイデア集
アプリ開発におけるテキスト装飾のアイデア集アプリ開発におけるテキスト装飾のアイデア集
アプリ開発におけるテキスト装飾のアイデア集
 
ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介
ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介
ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介
 
部品に切り分けて考えるView構造とライブラリを上手に活用したUI実装
部品に切り分けて考えるView構造とライブラリを上手に活用したUI実装部品に切り分けて考えるView構造とライブラリを上手に活用したUI実装
部品に切り分けて考えるView構造とライブラリを上手に活用したUI実装
 

Recently uploaded

遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
Takayuki Nakayama
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 

Recently uploaded (10)

遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 

UIPageViewControllerとContainerViewでこんな見た目を実現するTips