6

PullDown To Searchアプリに機能を実装しようとしています。これを実装するために、ビットEGOTableViewPullRefresh を変更しただけで、問題を除いてうまく機能しています。

問題

ユーザーがアプリケーションを開くと、次の画面が表示されます。最初UICollectionView's contentoffset(0,0) ここに画像の説明を入力

ユーザーがコレクション ビューをプルダウンすると、この時点で次の画面が表示されcontentoffsetますUICollectionView(0,-60) ここに画像の説明を入力

ユーザーは、上の画面にテキストを入力して検索できます。ユーザーが をタップして変更のUITextFieldテキストを入力するcontentoffsetとすぐに、この画面で問題が発生し、UI は次の画面のようになります。この変更が発生する理由がわかりません。これを解決する方法を教えてください。UICollectionView(0,-60)(0,-110)

ここに画像の説明を入力

4

5 に答える 5

0

最も簡単な方法は、UIViewController を使用して独自の UICollectionView を追加することです。キーボードの望ましくない動作をすべて無効にするために必要なクレイジーなハックの量は、非常識です。

于 2016-11-13T22:39:23.667 に答える
0

これを処理するための美しいソリューションでもありません

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.keyboardWillShow), name: UIKeyboardWillShowNotification, object: nil)

 

func keyboardWillShow()  {
    let offset = self.collectionView!.contentOffset;
    self.collectionView!.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right:0 )
    self.collectionView!.contentOffset = offset

    let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(1 * Double(NSEC_PER_SEC)))
    dispatch_after(delayTime, dispatch_get_main_queue()) {
        let offset = self.collectionView!.contentOffset;
        self.collectionView!.contentInset = UIEdgeInsets(top: 60, left: 0, bottom: 0, right:0 )
        self.collectionView!.contentOffset = offset
    }
}
于 2016-05-10T19:26:17.327 に答える