2017-07-21 8 views
2

CNContactPickerViewControllerの検索バーで検索された連絡先を選択できないことがわかりました。私はまた、この問題に関する他のスタックオーバーフローの質問も見ています。それはiOSのバグのようです。しかし、私は知りたいのですが、CNContactPickerViewControllerから検索バーを隠すか無効にする方法はありますか?これが機能しない場合、私はそれを表示したくないので。CNContactPickerViewControllerの検索バーを非表示または無効にする

+0

これを参照してください。https://stackoverflow.com/questions/17141210/how-to-hide-remove-the-search- bar-on-contact-picker –

+0

Saurabh、それは客観的な - cで、私は迅速な3の応答が必要です。 –

+0

私は同じ問題がある、私は検索ボックスが役に立たないのでCNContactPickerViewControllerの検索バーを非表示にしたい! – Plasma

答えて

0
private var foundSearchBar: Bool = false 

func findSearchBar(_ parent: UIView, mark: String) { 
    for v: UIView in parent.subviews { 
     //if(foundSearchBar) return; 
     print("\(mark)\(NSStringFromClass(v.self))") 
     if (v is UISearchBar) { 
      (v as? UISearchBar)?.tintColor = UIColor.black 
      v.hidden = true 
      //   foundSearchBar = YES; 
      break 
     } 
     if (v is UITableView) { 
      let temp: CGRect = v.frame 
      temp.origin.y = temp.origin.y - 44 
      temp.size.height = temp.size.height + 44 
      v.frame = temp 
      //foundSearchBar = YES; 
      break 
     } 
     findSearchBar(v, mark: mark + ("> ")) 
    } 
} 

方法上記のコールピッカーは以下のように提示された後:

func showPeoplePickerController() { 
    let picker = ABPeoplePickerNavigationController() 
    picker.peoplePickerDelegate = self 
    picker.view.autoresizingMask = .flexibleHeight 
     // Display only a person's phone, email, and birthdate 
    let displayedItems: [Any] = [Int(kABPersonPhoneProperty), Int(kABPersonEmailProperty), Int(kABPersonBirthdayProperty), Int(kABPersonAddressProperty)] 
    picker.displayedProperties = displayedItems 
    // Show the picker 
    present(picker, animated: true) { _ in } 
    findSearchBar(picker.view(), mark: "> ") 
} 
+0

ABAddressbookの代わりにCNContactPickerViewControllerを使用しているので、このコードは役に立ちません。だから、私のコードごとに私はループを満たすことができませんビューとサブビュー、そこに変更がありますそのループの内側に行くと0要素を表示するとき、私は親の眺めの値を印刷しています。 –

+0

よろしくお願いします。 @RichaGupta –

+0

あなたは何かを見つけましたか? –

関連する問題