日々精進

新しく学んだことを書き留めていきます

Popovers cannot be presented from a view which does not have a window

presentPopoverFromRect でPopoverを表示しようとすると以下のようなエラーメッセージが出た。

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Popovers cannot be presented from a view which does not have a window.'

これはpresentPopoverFromRect:inView:・・・
のinViewで渡したViewのwindowプロパティがnilなことが原因っぽい。
rootViewControllerのViewからsubViewsをたどってinViewで渡したViewまでたどり着ければwindowプロパティもnilでなくなるはず、なので適切なViewにaddSubViewすればよい。