iOS11 beta seems to have broken my search bar.
This video - https://youtu.be/6F1mO3l61sU - shows what happens in iOS11 (on the left) and iOS 9.3 (on the right).
This seems to be partially to do with the fact that the tableview on the right is in a view controller that takes up the right half of the screen.
The search controller and tableview are built in code.
I've tried [self.mysearchcontroller.searchbar sizeToFit] and that doesn't seem to make a difference.
I found the problem. There was an issue with iOS 8 previously where we were setting this property to fix a layout issue only.
extendedLayoutIncludesOpaqueBars = true
should be
extendedLayoutIncludesOpaqueBars = false
If you have this too, either set this to 'false' or delete the line of code. We no longer support iOS 8 so just deleting this line of code fixed my problem. I suppose if you have this for the same reason you may want to dynamically set it to still support iOS 8 but also support iOS 11.
Related
In my application while designing the UI i am facing some UI Issue.
The Top contraints I am setting in story board are coming same in IOS 11 but in versions lower to that UI is moving up. Please see the attached image
As you can see image in IOS 10 is above from the one in IOS 11.2.
How I can have the same UI in all the versions.
Contraints I have added are below:
Any help would be highly appreciated.
Adding below line in my view controller solved my problem.
edgesForExtendedLayout = UIRectEdge.init(rawValue: 0)
It appears that in iOS 10 and below my view was going under the navigation bar which made to look that view has shifted up. But it was working all fine in iOS 11. So to avoid view controller to go behind any bars added the above line which solved my problem.
This question already has answers here:
Warning frame for "Navigation bar" will be different at run time appears in Xcode 8 Swift 3
(14 answers)
Closed 6 years ago.
I am getting constraint warnings for my Navigation Bar's for each of my Navigation Controllers in each of my storyboards in Xcode 8.
To get rid of the warning I set the Navigation Controller's Simulated Metrics->Top Bar setting from Inferred to None and then back again, and the warning goes away. Until the next time the storyboard is opened, then the warnings come back.
My storyboard has the iPhone SE display setting, and the navigation bar's are not Translucent.
Changing the device preview from iPhone SE also removes the warning.
Xcode 8 has some serious bugs in Interface Builder: as well as this one, it has a nasty habit of random-seeming frame changes to all sorts of views - in my Main.storyboard, it decided to make some keyboard input accessory views 1,000 by 1,000 points, and everything inside it had a frame of {0,0} - {1000,1000}.
Did the same thing to various UITableViewCells, but not all of them.
Changing everything back took ages, cleaned the build folder and recompiled, but the problem came back straight away as soon as the storyboard was opened.
I had to uninstall 8 and go back to 7.3.1,
I filed a radar, saw other people with the same problem on the dev forums.
I encountered with the same problem. I am not sure that is solution or not but I just changed the Simulated Metrics size which is page size from freeform to the Page Sheet and warning dissappeard
Regarding the issues of Xcode automatically moving some views/subviews to {0, 0, 1000, 1000} frame bug, which is related to main question:
I had the same problem. Make sure to use Xcode 8.1 now as this problem is fixed in that version.
Xcode 8.1 Release notes
https://developer.apple.com/library/content/releasenotes/DeveloperTools/RN-Xcode/Introduction.html
Radars related : 28221021, 28244619
Update - Pointing the explicit frame bug solved on Xcode 8.1
I am using PSCollectionView, which is a Pinterest-style waterflow collection view. It is working very well with iOS 7 on Xcode 5&6 and in iOS 8 with Xcode 6, but in iOS 8 with Xcode 6 with TabBarController as the root controller, the view is not scrollable and cells are not selectable, just like the view is locked, even though it can load the data as normal.
I am wondering what may be the general reason for the collection view that is not scrollable and its cells are not selectable?
This class has already been 2-3 years, there may be some incompatibility within itself. For walking around, do you know there is any other Pinterest-style waterflow collection view that is working well now with iOS 8 with Xcode 6 that I can use instead?
Any ideas are appreciated! Thank you in advance!
After days trying to figure out this issue, finally got the solution.
It turns out it is nothing to do with the TabBar Controller nor iOS 8, it is the new setting of constraint of Xcode 6. I have to tick the "Installed" even though I already check "xC hR Installed" in the Attribute Inspector of the view used to show PSCollectionView. Now everything is working.
PS: but still don't know why I have to tick both of them to make it work. Any ideas?
Just updated my Xcode to 5.1 and the iPhone i work on to the 7.1.0.
A lot of apps that I have made, I have to redesign for the new iOS, because whenever you used a UINavigation bar, the Y point of your UITableView in UITableViewController would be the actual screen coordinate, so you would have to add 64 every time, or UINavigationBar.size.height.
Now this is changed, there is no need to add 64, the new 0 point is just after the navigation bar.
Did anyone notice any ether differences?
And does anyone now how will the changes effect the users how did not update to 7.1.0?
I ran into the same issue and found that including
[self.navigationController.navigationBar setTranslucent:NO];
helped to resolve my issue.
I noticed that if I brought my tables and data up to the top in the xib file to match how 7.1 handles it...it messed it up for 7.0. Including the code above while having the content at the top of the xib file proved to work for both 7.0 and 7.1.
Hope that helps,
Wes
I have existing iPad app supporting iOS 5 and 6.
Can anybody help me to list down item that I need to take care while supporting iOS 7?
One thing I noticed that in existing code ((UITableView*)self.superview) in UITableViewCell doesn't work. superview of UITableViewCell is UITableViewWrapperView that need to be fixed in existing code.
The things are:
1. Navigation bar height and view style are different
2. Status bar is transparent in iOS 7 as in iOS 6 it was opaque.
3. Small thing is about the tint color. By default it is light blue in iOS 7.
4. Button borders have been removed.
Issue's i have faced while running the app in IOS 7.
Status bar issue (view controller get overlaps 20 pixel.)
FixForStatusBarIssue
Customize alert view won't work in IOS7. (We can't customize the alert view in IOS 7.)
My Fix -> You need to customize the view exactly like u want because you can't customize alert view in IOS7.
Issues related to threads.
My Fix -> Use dispatch_queue(GCD with delay) in case of UI not responding (Presenting a view controller from background thread.)
Zbar sdk memory leaks while presenting and dismissing the SDK (more than 5 times app getting slow.)
FixForZbarMemoryLeakIssue
this are the issues i have faced. fixes i have suggested working fine for me. You just use it if you need hope it will work.
Apple's iOS 7 UI Transition guide
Read descriptions of every single element you used in your app.
And be aware of the style and position of the bars (navigation bar/tab bar/tool bar...).
iOS 7 has changed a lot in view hierarchies, you can use Reveal to make things easier.