Swiftで遊ぼう! - 194 - アプリを作ろう - ついにMy 3rd Project完成!
Swiftで遊ぼう!の古い記事-> Life-LOG OtherSide
今日でMy Third Projectが終了だ!
最後に少しだけアクションシートのiPhoneとiPadでの振る舞いの違いを理解しておこう。
if let ppc = controller.popoverPresentationController { ppc.sourceView = sender ppc.sourceRect = sender.bounds }
ここで使っている「popoverPresentationController」はiPadに備わっているアクションシートなので、これが存在するということは、UIButtonからポップアップウインドウの位置を決めている。
たぶんsourceViewとsourceRectは基本的なプロパティなんでしょうね。私はイマイチ分かってないんですけどね(^^;)
ここでちょっと分かりにくいところがあった。
ポップアップウインドウに矢印(三角の吹き出しみたいなもの)の方向を決めるクラスがある。
permittedArrowDirectionsというUIAlertControllerにあるプロパティだ。
これをDocumentation and API Reference*1で確認するとUIPopoverArrowDirectionクラスということが分かる。
次にUIPopoverArrowDirectionを調べると、Swiftの記述が無い!!! Object-Cの宣言法しか説明が無い。
これは困った...
if let ppc = controller.popoverPresentationController { ppc.sourceView = sender ppc.sourceRect = sender.bounds ppc.permittedArrowDirections = .Donw }
これは次のような方向でアクションシートが出る。
じゃあ次のように書き換えると
if let ppc = controller.popoverPresentationController { ppc.sourceView = sender ppc.sourceRect = sender.bounds ppc.permittedArrowDirections = .Up }
このpermittedArrowDirectionsはイーナム型ということが予想されるけど、どこにSwiftの説明があるのだろう。
まあいいや。
今日でMy Third Projectは終わる。
今日はこれで終了。