Swift

Swift:ふたつ目のwindowの自動起動の仕方?

action-modalを使えば、ボタンを押してふたつ目のwindowで表示できるようになるのですが、これではいくら何でも不便ですし、現実的でありません。

そんなこんなで、プログラムで自動的にボタンをクリックする方法がないか、ない知恵を絞って調べました。

最初はNSButtonCellをNSTableViewにすればいいと考えたのですが、この方法だと、サムネールをクリックした後、IBActionがキックされず、action-modalが動き出し、制御がふたつ目のクラスに移ってしまいました。firstResponderでやる方法がないかも試したのですが、浅知恵は全く役に立ちませんでした。

NSButtonCellを眺めていたら、performClickというのがあったので、xbPushButton?.performClick()と書いたのですが、これではダメで、selfを書いたらOKになりました。この辺がど素人。洗練されていません。

@IBOutlet var   xbPushButton:NSButtonCell?
xbPushButton?.performClick(self)

この実装により、サムネールを選択(クリック)したらふたつ目のwindowが自動的に開くようになりました。

Categories: Swift, 技術