Swiftで遊ぼう! on Hatena

あしたさぬきblogでやってた初心者オヤジのiOSプログラミング奮闘記がHatenaに来ました

Swiftで遊ぼう! - 194 - アプリを作ろう - ついにMy 3rd Project完成!

Swiftで遊ぼう!の古い記事-> Life-LOG OtherSide

f:id:yataiblue:20150117124204p:plain

今日でMy Third Projectが終了だ!

最後に少しだけアクションシートのiPhoneiPadでの振る舞いの違いを理解しておこう。

 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
 }

これは次のような方向でアクションシートが出る。
f:id:yataiblue:20150117230839j:plain
じゃあ次のように書き換えると

 if let ppc = controller.popoverPresentationController {
  ppc.sourceView = sender
  ppc.sourceRect = sender.bounds
  ppc.permittedArrowDirections = .Up
 }

f:id:yataiblue:20150117230840j:plain
このpermittedArrowDirectionsはイーナム型ということが予想されるけど、どこにSwiftの説明があるのだろう。

まあいいや。

今日でMy Third Projectは終わる。
f:id:yataiblue:20150117234151j:plain
今日はこれで終了。

*1:Xcode6 > Menu > Help > Documentation and API Referenceをチェック!