私はUITableview
セクションとインデックスのタイトルを持っています。ユーザーがセルをクリックすると、高さ42のオプションビューがそのセルに表示されます。そのオプションを表示するには、セルをリロードします。しかし、セクションヘッダーも更新されています。それは奇妙なアニメーションを与える。 heightForHeaderInSection
とviewForHeaderInSection
のような他のデリゲートメソッドを呼び出さずに、セルだけをリロードする方法。リロードUITableViewヘッダーセクションを再ロードせず
1
A
答えて
1
私はそれはあなたを助けるかもしれない
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:NO];
[tableView beginUpdates];
[tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
[tableView endUpdates];
}
以下のコードを試してみてください、あなただけindexPathのための特定の行を更新するべきだと思います。
乾杯。スイフト2.0 &で
1
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
tableView.beginUpdates()
tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: .Automatic)
tableView.endUpdates()
}
2
上記テーブルビューを再ロードするためのいくつかの方法があります。
セクションのセルを含むセクション全体をリロードします。
- (void)reloadSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation
例:
[tableVIewContent reloadSections:[NSIndexSet indexSetWithIndex:1] withRowAnimation:UITableViewRowAnimationAutomatic];
単一/複数のセル
- (void)reloadRowsAtIndexPaths:(NSArray<NSIndexPath >)indexPaths withRowAnimation:(UITableViewRowAnimation)animation
をリロードします
<オール= "3" を起動>。
- (void)reloadData;
//最初からすべてを再ロードします。可視の行を再表示します。可視の行についての情報しか保持しないので、これは安いです。テーブルが縮小した場合にオフセットを調整します
例:
[tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:1]] withRowAnimation:UITableViewRowAnimationFade];
全体のテーブルビューをリロードするには
関連する問題
- 1. Unity3dでUISceneをリロードせずにGameSceneを再ロード
- 2. ランダム生成インデックスを再ロードせずにシーンをリロードする方法は?
- 3. Reload UITableViewビューを再読み込みせずにデータをロードしますか?
- 4. ページをリロードせずにAJAXでポートフォリオ商品をロード
- 5. UITableViewをリロードする
- 6. tomcat6サーバを再起動せずにサーブレットをリロードする方法
- 7. JSPページをリロードせずにJSPページを再実行する
- 8. Xorgを再起動せずにXINITRCをリロードする
- 9. Xcodeを再起動せずにドキュメントセットをリロードする
- 10. Rails ActiveRecord:再ロードせずにロック
- 11. テーブルビュー全体をリロードせずにUITableViewのセクションヘッダー/フッタータイトルを変更する
- 12. Zend Frameworkレイアウトテンプレートを再ロードせずにビューをロードする
- 13. Objective-C - ユーザーに気づかずにUITableViewをリロードする
- 14. mysqldを再起動せずに.sqlスキーマを再ロード
- 15. Firefoxを再起動せずにuser_prefを再ロードする方法
- 16. ヘッダーセクションのcommandLinkをクリックした後のデータ読み込み可能な再ロード
- 17. リロードせずにJqueryクローンイメージ
- 18. Androidフラグメント、再作成/再ロードせずに戻るフラグメント
- 19. WordpressでAjaxを使用してページをリロードせずにDivをロードする
- 20. スウィフト - 私はリロードのUITableViewヘッダー
- 21. ページをリロードせずにオプションを選択
- 22. JSPのタイムティックをページをリロードせずに
- 23. php/ajax/mysqlは、ページ全体をリロードせずにリロードする
- 24. ページ全体をリロードせずにjavascriptでリロードする
- 25. pushViewController:HomeButtonを毎回リロードせずに
- 26. リロードせずに別のページをナビゲート
- 27. ページをリロードせずにPythonのPOSTリクエスト
- 28. logstashを再起動せずに同じファイルを最初からリロードします
- 29. Webサービスからの提案をリロードせずにSilverlight AutoCompleteBoxポップアップを再起動
- 30. コントローラを再ロードせずに経路を更新する
テーブルビューをリロードするためにあなたが書いたコードです。そして、まさにあなたがしたいこと。セルまたはセクションのみをリロードしますか? –
'begin/endupdate'を使ってセルをリロードする –