0
(未回答でこの質問、と同様に:未回答も、 Tableview scroll to top not going all the wayと同様に、この1: Show navigation bar's large title and search bar on scroll to top collection view iOS 11 Swift 4

複製UIScrollViewののscrollToTopは、iOS 11にUITabBarタップにUINavigationBarを展開しません

私がしようとしていますステータスバーのタップでUITableViewの上にスクロールを複製しますが、UITabBarアイテムをタップして、そのビューに既に入っています。私はタップ部分が働いているが、上にスクロールすることは私が望むようには機能していない。

は大きなタイトルのnavigationbarに組み込まれており、searchbarはヘッダーに含まれているため、スクロールすると展開されて折りたたまれます(デフォルト動作)。

私は、予想通り、ナビゲーションバーおよび/または検索バー拡大していない、最初のテーブルビューセルにスクロールされ、スクロールするには、以下を使用しています:

[tv scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] 
      atScrollPosition:UITableViewScrollPositionTop animated:YES]; 

を私がように見えることはできません上にスクロールしてナビゲーションバーと検索バーを展開する方法を解説します。 tableviewのスクロール時に、tableviewのオフセットが明らかに異なるため、tableviewのコンテンツオフセットを手動で計算することはできません。さらに、異なる画面サイズでは、拡張されたnavigationbarsearchbarのコンテンツオフセットが異なるため、オフセットを保存できません。

誰もこれを理解できましたか?

答えて

0

まあ、私は少し遅れて、ここでのアクションによしかし、今後の参考のために:

iOSの10+(navigationBar成長11に導入されて以来、十分な)あなたは

scrollView.perform(NSSelectorFromString("_scrollToTopIfPossible:"), with: true) 

を使用することができますこれはプライベートAPIです。私は数時間捜して、たくさんのものを試しましたが、結局これが働いたのはこれだけです。 WhatsAppは同じ方法を使用しているようです。 Appleと特別な契約を結んでいるか、またはAPI呼び出しを隠している可能性があります( base64 )。

関連する問題