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