UISearchContainerViewController linker failure in iOS 9.1/Xcode 7.1.1 - ios

I have severe problems implementing UISearchController wrapped up in UISearchContainerViewController for a universal tabbed bar application.
Basically what I am trying to implement is search like in the Apple music app where UISearchController is not set as a tableHeaderView but is presented upon tapping a magnifying glass button in the navigation bar.
It's very important that the UISearchController is initialised like this: searchController = UISearchController(searchResultsController: searchResultsController) not with nil, as there are all kinds of scopes and searchable content could be core data and server.
I am currently presenting the UISearchController modally which completely screws up the view hierarchy as search happens in UISplitViewController installed in one of tabs (both master and detail view controllers).
This is the linker error.
My deployment target is 9.1 - I have seen on Apple forums here that somebody else had the same problem.
So is it an Apple bug or I should be looking somewhere in my app?

Related

UISearchController disappears when pushing a new UIViewController

I'm currently working with an example from Raywenderlich: UISearchController-Tutorial (The finished project is at the end of their article or here) and I noticed that when I execute a search and click on one of the results, during the push transition, the UISearchController disappears. It's visible on this video: here
Before selecting a result
During the transition to the new VC
I run this example with Xcode 10, iOS 12 (sim: iPhone 8)
Any idea / pointer would be deeply appreciated
Cheers.
Its default in iOS12. Just look at the Apple-Mail App. There it is the same. Actually you dont need the searchbar, when you are showing another VC

Empty line rendered in UINavigationBar with UISearchController in iOS 11

This is most likely to be an iOS bug, I've reported to Apple already (35410538) but I'd like to find a workaround to temporary fix it.
When you have an UITableViewController inside UITabBarController which is embedded by UINavigationController an empty line is rendered when scrolling. This happens on both simulator and device. the navigation controller has to be set to show iOS 11's large titles and have an UISearchController in it.
I've setup a sample project demonstrating it here.
Has anyone found a workaround to fill that line?
Thanks!

A way to achieve UISearchController appearance similar to Photos app in iOS 11

I would like to update my old iOS 10 application's UISearchController appearance to have effect similar to native Photos app in iOS 11.
But I am not sure how to get such smooth animation of NavigationBar transition from LargeTitle to UISearchController.
UPDATE
I know that there is UINavigationItem's property UISearchController, but it just shows UISearchBar under the Large Title and its appearance with hidesNavigationBarDuringPresentation set to true looks completely different.
Thanks for any suggestions.
In iOS 11 there's a new way to add the UISearchController to the UINavigationItem. Check the documentation from Apple.

Swift: Imitate iOS Settings screen dimming

I'd like to implement a feature similar to what happens in the iOS Settings screen, whereby the screen background dimming is removed if a search result is found:
https://www.evernote.com/shard/s549/sh/01d96373-7ce1-43f5-aed6-a3aea6ce985d/356e9ba510309e1548a4fb384d1bcdcc
I can use dimsBackgroundDuringPresentation when the UISearchController is initialised but is there a way to switch this from true to false as results are fetched and show in the table view?
Thanks

UITapGestureRecognizer from Objects library in storyboard on a view which is inside a tab bar controller

I added a UITapGestureRecognizer to a view which is inside a tab bar controller and when I switch to the tab which contains the view with the UITapGestureRecognizer, I get a crash with the message -
-[__NSCFString setView:]: unrecognized selector sent to instance 0x2ae8d0
I am using Xcode 4.3
i had this same trouble on iOS5 only with an app targeted to iOS 5 and iOS 6 and a gesture recognizer on the last tab. our code also has very similar gesture-recognizers that are loaded for modal dialogs or pushed view controllers for other tabs. so it was only gesture-recognizers in a tab that was not the first tab, and only in the rootViewController for that tab.
as Arunabh Das ended up doing, it would seem the only answer is really to add the UIGestureRecognizers in code. there is a thread at Ray Wenderlich's website (which is a decent site containing some good iOS tips) , which, summarized, notes that there appears to be a bug in iOS5, starting with the beta versions, never fixed in the final, and containing a code-snippet that shows how to put the gesture-recognizers in code if you want them.

Resources