2012-01-23 6 views
0

私は画面の下部にUIToolbarのようなビューを持つUITableViewを持っています。ユーザーがテーブル・データに対して特定のアクションをとったときに、画面上に表示されるように上下にスライドするように動的にアニメーション化したいと思います。私が遭遇している問題は、ツールバーを上に動かすと、インデックスの最後の数文字になります。UITableViewのインデックスをアニメーション化する最も良い方法は?

私は、ツールバーのアニメーションと一緒に、アニメーションとしてインデックスのサイズを縮小したいと思います。標準のUITableViewインデックス機能は、このビューへのアクセスを提供しません。ビューに表示されるものは、sectionIndexTitlesForTableView経由です。そのような方法でそれを変更する最良の方法は何ですか?

Example

答えて

3

一つの方法は、テーブル全体のビューの高さをアニメーション化することです。これはまた、ツールバーが起動している間に、ツールバーで何かしたい場合に備えて、ツールバーが基本的に最後のセルを覆うことを防ぎます。

UITableViewControllerがある場合は、コードを通常のUIViewControllerに移動する必要があります。

別の方法は、テーブルビューのサブビューを列挙し、そのようにセクションタイトルビューを見つけることです。ただし、それがうまくいくかどうかはわかりません。

2

UITableViewはもう1つのスクロールビューです。ツールバーの高さに応じてcontentInsetscrollIndicatorInsetsを調整してください:

UIEdgeInsets contentInset = self.tableView.contentInset; 
contentInset.bottom = self.myToolbar.frame.size.height; 
self.tableView.contentInset = contentInset; 

UIEdgeInsets scrollInset = self.tableView.scrollIndicatorInsets; 
scrollInset.bottom = self.myToolbar.frame.size.height; 
self.tableView.scrollIndicatorInsets = scrollInset; 
関連する問題