Successfully scrolling TableView
1.ようやく発見
以前の記事ではスクロール失敗に終わっていました。
色々と調べていましたが、ようやくスクロールさせることができたようです。
なかなか情報が探せずにいましたが、結局は、Pythonistaフォーラムから見つけることができました。
半ば、諦めていたところだったのですが、フォーラムをもう少しよく見直してみました。
2.TableViewのスクロール
フォーラムからは下記情報を入手しました。
横長で見にくいですが、スクリーンショットをそのまま掲載します。
3.関数追加
スクロール関数を追加し、それをデータ更新時に呼び出すようにしました。
フォーラムの内容とはちょっと違いますが、試行錯誤の結果、下記のようなコードとしました。
関数は下記の通りです。(これもスクリーンショットです)
tv: スクロール対象のTableView
rowNum: スクロールポジション(トータルゲーム数)
s_pos: スクロール位置(TOP=1,MIDDLE=2,BOTTOM=3)
※トータルゲーム数は、次のゲーム数を指しているため、そのまま指定してしまうと配列範囲オーバーとなり、abortエラーとなります。
そのため、-1する必要がありました。
※また、(ここには記載しませんが)呼び出しは、TavleViewのreload後に実行させる必要があります。
スクロールさせた後reloadすると、これもまたシステムエラーとなります。これは原因がまだよくわかっていません。
4.実行結果
アプリ実行で、CSVファイルからデータを読み出し、一覧を表示しますが、その時に、最終データまでスクロールするようになりました。
今までは、8つのTableViewをいちいち手動でスクロールさせて表示させていたんです。
(今思えば、TableViewを8つも使うような構成にすべきでなかったのですが・・・)
データ追加時の動作は未確認ですが、それは、来週初めの今年初ボウリング時のスコアを登録するときに実行、確認してみます。