メニューを閉じる

テクノデジタルグループ

メニューを開く

2014.06.19

プログラミング

自作のツールバーがiOSのSafariっぽく動くようにする

こんにちは、ZYです。

今回は、

「その動き、君がいいねと言ったら、Safari記念日」

ということで、「なんかiOSのSafariっぽい挙動をする自作ツールバー」を紹介します。

と、いっても、今回再現するのは、「スクロール時やタップ時に、ツールバーが出たり引っ込んだりする動き」です。中のボタンの動きなんかは再現しないので、あしからず。

 

さて。まずは、iOSのSafariで使われているToolBarの挙動を確認しておきましょう。

 

出てくるイベント

1.勢いよく上にスクロール(指は下にpan)した時

(ゆっくりした時は、出てこない)

2.一番下までスクロールした時

3.画面下部をタップした時

 

隠れるイベント

4.下にスクロールした時

(スクロールにあわせて、途中までゆっくり降りて、ある程度まで行くとアニメーションで隠れる)

 

以上の動作を、各イベントにあわせて自作のツールバーが動くように実装していきます。

 

以下が、そのコードです。

 

 

 

 

UIScrollViewのデリゲートメソッドを使っているので、UIScrollViewもしくは、その継承Class(UITableViewとか、UITextViewとか)が存在しているUIViewControllerでお使いください。

UITableViewでも、<UITableViewDelegate>を指定してやれば、ついでにUIScrollViewDelegateが呼び出されます。

 

今回は自作のツールバーを使いましたが、UINavigationControllerのtoolBarを使うことも可能。

上記のself.toolBarを、self.navigationController.toolbarに変えれば、基本的にはOK。

ふつーにself.navigationController.toolbar.frameをいじれば、動きます。

一応、

を呼び出しているところを

に変えても動きますが・・・私がやった時は、たまにエラー落ちしてたので、あんまりおすすめしないです。

ま、でも、たぶん、ある程度条件つけて、呼び出すタイミングを制御してやれば、大丈夫ですよ、たぶん。

その他、一番下までスクロールしなくても出るようにするなど、カスタムしてお使いください。

 


【記事への感想募集中!】

記事への感想・ご意見がありましたら、ぜひフォームからご投稿ください!
  • こんな記事が読んでみたい、こんなことが知りたい、調べてほしい!という意見も募集中!
  • いただいた感想は今後の記事に活かしたいと思います!

感想フォームはこちら


【テクノデジタルではエンジニア/デザイナーを積極採用中です!】

下記項目に1つでも当てはまる方は是非、詳細ページへ!
  • 自分でアプリを作ってみたい
  • ITで世の中にワクワクを生み出したい
  • 使いやすさ、デザインにこだわったWebサイトを開発したい

採用情報の詳細はこちら


Qangaroo(カンガルー)

  • 徹底した見やすさと優れた操作性で、テストの「見える化」を実現。
  • テストの進捗が見える。開発がスマートに進む。
  • クラウド型テスト管理ツール『Qangaroo(カンガルー)』

【テクノデジタルのインフラサービス】

当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。

https://www.tcdigital.jp/infrastructure/

最近の記事

SNS共有