ちょっと触った程度ですが、今後開発予定のアプリに実装したい機能とピッタリ一致したテンプレートを掲載しているサイトを見つけたのでまとめ。
機能としては、エンドレスで複数枚の画像を自動スライドショー表示するというものです。
テンプレートを掲載している記事と、GitHub のページリンクはこちら。
画像のスライドショーテンプレート – 廣川政樹の開発ブログ – Dolice Lab
https://lab.dolice.net/blog/2013/04/08/download-xcode-objc-slide-show/GitHub – masakihirokawa/objc-slide-show: フェードインで表現する画像スライドショーのサンプルです
https://github.com/masakihirokawa/objc-slide-show
コードについては、上記サイトに掲載されているので、そちらをご参考ください。
なお、GitHub のサンプルコードそのままだと、アプリを起動したら自動でスライドショーが開始されます。
もし、ボタンタップ等で、スライドショーの開始・終了を切り替えたい場合は、任意のタイミングで下記の関数を実行するようにして下さい。
- (void)callSlideShow { if (self.isRunningSlideShow) { [self stopSlideShow]; } else { [self startSlideShow]; } self.isRunningSlideShow = !self.isRunningSlideShow; }
この時、viewDidLoad
関数にある [self startSlideShow];
を無効にするのをお忘れなく!
こちらが残ったままだと、アプリ起動時にスライドショーが開始されます。
私が実装したい機能だと、アプリ起動時にスライドショーが自動で開始され、画面タップ等で終了して欲しいので、スライドショー停止の処理だけ追加したいと思います。
画面タップで終了については、透明ボタンを画面いっぱいのサイズで表示させて、そのボタン押下時に停止処理を発火させることにします。
それにしても、Swift を主に使っているせいで、Objective-C の書き方になれない…!
ある程度似ているとはいえ、コードを読むのですらたまに躓くので、頑張って慣れていきたいと思います。
以上、Objective-C で画像スライドショー機能を実装する方法でした。
ご参考になれば幸いです。