2017-12-11 17 views
0

検索バーがnavigationItem.searchController = searchControllerでナビゲーションコントローラに接続できるiOS 11では、contentOffsetのアニメーション化は検索バー場所にとどまることが多いようです。その後すぐにスクロールすると修正されますが、見るのは醜いです。UISearchControllerの検索バーが消えないままiOS 11でプログラムスクロール

ステータスバーをタップして(検索バーを表示させて)一番上にスクロールした後、UIScrollViewcontentOffsetの変更をアニメーション化すると、検索バーが時折見付かることがありますデバイスではなく、シミュレータ(しかし、あなたはまだナビゲーションバーがあまりにも背が高いシミュレータ上で見ることができます):これは、Xcodeののテンプレートのプロジェクトの一つでもして非常に容易に観察することができ

enter image description here

、こうした「マスター・ディテール」など検索コントローラを追加してから、ボタンを追加してバックアップを取り戻すことによって、

@objc func goBackUp(_ sender: Any) { 
    tableView.setContentOffset(CGPoint(x: 0.0, y: 1200), animated: true) 
} 

ここでそれを示すサンプルプロジェクトです:Sample Project

私はiOSの10およびそれ以前のバージョンには問題はありません、これは最も可能性のiOSのバグですが、誰もが、その間に修正を知っているん承知しています?あなたは=偽navigationItem.hidesSearchBarWhenScrollingを設定しない場合

答えて

1

iOSの11のIOS 11.

https://developer.apple.com/documentation/uikit/uinavigationitem/2897305-searchcontroller

でnavigationItemに新しいsearchControllerプロパティは、あります、検索バーには、最初に、隠されていない限りすることができますユーザーがスクロールして表示します。 falseに設定すると、スクロールしなくてもタイトルの下にスタックされて表示されます。

+0

このプロパティは、スクロール時にスティックするかどうかにのみ影響します。上に概説した問題は、スクロールしてスティックしないように設定しているときに起こることです。 – christianselig

関連する問題