Bonjour IP Adresse aus Array<Data>

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hallo,

    leider läufts doch nicht so wie ich das haben wollte. Auf dem iPad passiert nun die Anzeige der "Detailview" im Masterview, heißt, ich bekomme im Masterview eine Segue Animation und danach die gewünschte Webseite, aber der große Detailview bleibt völlig unbeeindruckt und leer. Auf dem iPhone viel das nicht auf, aber am iPad ist das natürlich nicht das was man will.

    Ich habe nun das Segue vom Masterview auf den Navigationcontroler gezogen, danach passte zumindest die Navigation, aber ich bekomme nun nicht mehr meine Daten an den WKWebView gesendet, weil ich im Segue nun nicht mehr auf den Detailview zeige, sondern auf den Navigationcontroler und dort funktioniert dann ein:


    Quellcode

    1. override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    2. switch segue.identifier {
    3. case "show":
    4. let ctrl:DetailViewController = segue.destination as! DetailViewController
    5. let indexPath = tableView.indexPathForSelectedRow
    6. ctrl.ipadress = discoveredDevices[indexPath!.row].ipadress
    7. ctrl.hostname = discoveredDevices[indexPath!.row].hostname
    8. default:
    9. break
    10. }
    11. }
    Alles anzeigen
    nicht mehr.

    Wie bringe ich denn nun mein Detailview dazu, die angetippte Webseite zu laden und anzuzeigen?
  • Und schon wieder ne dumme Frage, zu der ich aber diesmal wirklich schon vorher mal gesucht aber nichts gefunden habe:
    Simulator Screen Shot - iPad Pro (9.7-inch) - 2020-10-26 at 12.07.31.png
    Ich habe eine Suche in die Masterview eingebaut, aber irgendwie ist das Textfield des Searchbarcontrollers extrem weit nach links verschoben, so das man nicht sehen kann was man getippt hat. Ansonsten funzt die suche auf schon.

    Hier der Code den ich benutze um die Suche einzubauen:


    Quellcode

    1. class MasterTableViewController: UITableViewController, NetServiceBrowserDelegate, NetServiceDelegate, UISearchResultsUpdating { ......
    2. var searchController = UISearchController(searchResultsController: nil)
    3. override func viewDidLoad() {
    4. super.viewDidLoad()
    5. setupSearch(
    6. .....
    7. }
    8. func setupSearch() {
    9. navigationItem.searchController = searchController
    10. navigationItem.hidesSearchBarWhenScrolling = false
    11. searchController.searchResultsUpdater = self
    12. searchController.obscuresBackgroundDuringPresentation = false
    13. searchController.searchBar.sizeToFit()
    14. }
    15. func updateSearchResults(for searchController: UISearchController) {
    16. let searchText = searchController.searchBar.text
    17. if !searchText!.isEmpty {
    18. let arr = discoveredDevices.filter {
    19. $0.hostname.range(of: searchText!, options: .caseInsensitive) != nil
    20. }
    21. discoveredDevices.removeAll()
    22. discoveredDevices = arr
    23. }
    24. self.tableView.reloadData()
    25. }
    26. ....
    27. }
    Alles anzeigen
    Der selbe Code fuktionierte in einem normalen Tableviewcontroler auch, aber in dem Splitview geht irgendwie schief. Muss ich noch irgendwas tun?

    Danke und Grüße

    Dirk

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Qvex23 ()

  • Kommt mir bekannt vor. Setze einmal die Properties, die UI-Relevanz haben im viewWillAppear

    Quellcode

    1. navigationItem.hidesSearchBarWhenScrolling = false
    2. searchController.searchResultsUpdater = self
    3. searchController.obscuresBackgroundDuringPresentation = false
    Ich vermute hier eine Abhängigkeit vom abgeschlossenen Layout, auch wenn ich das nicht wirklich plausibel begründen kann. Zumindest hatte ich auch Layout-Probleme der SearchBar, wenn diese nur im viewDidLoad konfiguriert wurde.

    Das searchController.searchBar.sizeToFit() brauchst Du m. E. gar nicht...

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.