Closed Enchan1207 closed 2 weeks ago
これCoreMotionしかないのか????
いろいろ試してはみたんですけど、
portrait
で)ロックされていてlandscape
に対応しない (ターゲット設定の General タブにある Orientation の設定)状態が組み合わさると、いい感じに取得するのはかなり難しそう
現時点で UIDevice.orientation
を参照している箇所:
ToolBarModeSwitcher
: ボタンアイコンの回転, 通知センタ使用
https://github.com/Enchan1207/loc-tan/blob/48e8913c3b66082148ce1c8ace76c4a7492ec311/loc-tan/Toolbar/View/ToolBarModeSwitcher.swift#L62ToolBarItemView
: アイテムアイコンの回転, 通知センタ使用
https://github.com/Enchan1207/loc-tan/blob/48e8913c3b66082148ce1c8ace76c4a7492ec311/loc-tan/Toolbar/View/ToolBarItemView.swift#L55CameraViewController
: 撮影時の方向判定, 通知センタ非使用 (受動的)
https://github.com/Enchan1207/loc-tan/blob/48e8913c3b66082148ce1c8ace76c4a7492ec311/loc-tan/Camera/ViewController/CameraViewController.swift#L243MainView
: ズーム倍率ボタンの回転, 通知センタ使用
https://github.com/Enchan1207/loc-tan/blob/48e8913c3b66082148ce1c8ace76c4a7492ec311/loc-tan/Main/View/MainView.swift#L209デバイスの向きとその変化を扱うクラスを新しく作って、これら処理内部では UIKit
由来APIの代わりにそれを使うようにする?
いろんなクラスが同時に変化を検知するケースでいくと、マルチキャストデリゲートか(純正APIと同じように)通知センタを使うかの2択になってくる
画面にすら依存しないんで AppDelegate
で持つか…………
こんな感じでどうよ!
Overview
UIDeviceのOrientationの仕様かもしれない?
TaskList