2017-02-08 61 views
0

我面臨着一個viewController的flash,其中searchField是第一響應者,當我回到該控制器。我試過我在ios9上,但沒有這樣的問題,所以它看起來是在ios10中引起的。閃爍的ViewController其中textField是第一響應者

您能否請教建議可能是什麼原因以及如何解決? 非常感謝您提出任何建議。

enter image description here

編輯:

我查看層次結構很簡單(它只是一個演示),但導致這裏的問題happends以及我在這裏調查了。該代碼看起來像這樣:

class ViewController: UIViewController { 

    @IBOutlet weak var searchBar: UISearchBar! 


    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
    } 

    override func viewWillAppear(_ animated: Bool) { 

     searchBar.becomeFirstResponder() 
    } 
} 

enter image description here

+0

在繼續使用第二個VC之前,你有沒有嘗試解散鍵盤?如果您需要在退繞時重新啓動鍵盤,請繼續操作? – dfd

+0

on button click(Experiment),write self.view.endEditing = true – Himanshu

+0

@dfd,yes我試過了,在viewWillAppear中我設置了:searchBar.becomeFirstResponder()和viewWillDisappear:searchBar.resignFirstResponder()。但不幸的是,面臨同樣的效果 – Melany

回答

1

我面對這個問題了。在我的情況下,第一頁上的屏幕是滾動視圖內的堆棧視圖,我仍然不確定爲什麼發生這種情況,但爲viewWillAppear設置滾動視圖的內容插入爲我解決了這個問題。我用這個代碼:

let insets = UIEdgeInsetsMake(0.0, 0.0, 0.0, 0.0) 
scrollView.contentInset = insets 
scrollView.scrollIndicatorInsets = insets 
scrollView.contentSize = CGSize(width: stackView.frame.width, height: stackView.frame.height) 

如果這種類型的解決方案不會爲你工作,你可以添加關於您的視圖對象的層次結構的更多細節?

也許設置UISearchBarControllercontentInset可以解決這個問題。

+0

,非常感謝你的幫助我編輯了我的問題。不幸的是你的解決方案沒有解決這個問題 – Melany

+1

看看這個答案,它似乎已經解決了你的問題:http://stackoverflow.com/a/32772461/3543861 –

+0

非常感謝,但在我的情況下,問題不是transclucensy和顏色,但這個解決方案看起來挺好的。現在我只是將becomeFirstRespinder的調用移到了viewDidAppear。它不是很好,但看起來更順暢 – Melany

相關問題