1

私はUIScrollView3つをUITableViews水平に積み重ねています。上部のタブコントローラーを使用して、これらのテーブルビューを切り替えます。ただし、2番目または3番目のタブに切り替えてすぐに1番目に戻すと、表示されsection headersません。をスクロールすると表示されますtableView。これらはcustom headers(jfyi) です。tableView が表示されているときに呼び出してみsetNeedsDisplayましたが、Apple Docs によると、それは役に立ちません:

ビューのジオメトリを変更しただけでは、通常、ビューは再描画されません。代わりに、ビューの contentMode プロパティの値に基づいて既存のコンテンツが調整されます。既存のコンテンツを再表示すると、変更されていないコンテンツを再描画する必要がなくなるため、パフォーマンスが向上します。

ここではビューのジオメトリのみが変更されるため、役に立ちません。また、これはすべてのバージョンiOS 5~6.1とシミュレーターおよびデバイスで発生します。ありがたいことに、これはアプリをクラッシュさせませんが、それでも問題です. 誰か助けてくれませんか?参考までに写真を添付し​​ます。最初に問題を示します。次に、「head(er)less」テーブルビューをスクロールした後

ヘッドレス TableView セクション頭があります。 タダ!!

編集:私はシンプルを使用してscrollRectToVisible:animated:テーブルビューを切り替えています。これでうまくいきますが、設定...animated:NOするとすべて問題ないことがわかりました。問題は次の場合に発生します。...animated:YES

4

1 に答える 1

0

それぞれのテーブルビューで同時に表示とスクロールが行われる問題のようです。ここでできることは次のとおりです。

  1. スクロール アニメーションを削除するか、
  2. タブプレスイベントでテーブルビューを一番上までスクロールするか、
  3. 表示されているtableViewをリロードするだけです
于 2013-04-18T05:44:15.510 に答える