I have a problem while using hideBarsOnSwipe;
If I use it on a UIViewController, everything goes fine. But when using UITableViewController, I think its swipe gesture recogniser conflicts with the UITableView's. So table swiping great, but sometimes -generally if you swipe too slow- it's not hiding or showing. But the main problem is this: If I use hideBarsOnSwipe on a UIViewController which contains a UITableView, it is not working on the UITableView. -but working on the other UI elements, which are not have a swipe gesture-.
So, can anyone guide me about this? Am I missing something, or is it normal, or is it a bug?
Edit: I'm working with Objective-C, X-Code 6.1 and iOS8. Didn't try on iOS7.
Related
In the video, it's a little difficult to see what's going on, so I'll try to explain it.
https://youtu.be/yOrCJB9yZlg
I have UIViewController with UITableView inside its root view. Binded via Autolayout (there is no difference how it's binded: to SuperView or to SafeArea).
SearchBar added like this:
let search = UISearchController(searchResultsController: nil)
self.navigationItem.searchController = search
When I slowly scroll table, the transition between large navbar and compact navbar, and then animation of showing in and out of searchBar is too fast. Searchbar jumping in/out of navbar instead of smoothly opened/closed; navbar transitioning is jumping between two states, large and compact, without smoothly passes through the middle half-opened state while you slowly moving your finger on screen, like in system apps (Mail, Phone, Messages, Contacts etc).
I made the example from an empty project to demonstrate the issue; there isn't any changes to navigation bar logic, or any logic at all. Just two new VC's and this odd behaviour.
If i create xCode's "Master-Details" project example and add UISearchController to it, it will work properly. I assume its because they used UITableViewController instead of UIViewController + UITableView inside.
What the reason of this behaviour and how to fix it?
I had the same problem with the search controller transition and tableview.
like this its flickering or tableview was jumping. The search controller was on the navigation item.
The key solution is to remove safe area guide from your view controller and assign top bottom left right constraints to your tableview. It will be smooth like this
What you have done is correct. Did you try running your code in a device? Feels more like a glitch in the simulator. I tried what you tried and it works fine for me in the device. Whereas the glitch occurs in simulator.
Refer to this article. They have explained step by step process.
This is a known problem and your code seems fine. This problem was already discussed here.
Problem appears when you're using UIScrollView or its subclasses with large navigation titles. It doesn't work. Problem disappears when you use UICollectionViewController or UITableViewController instead.
When I segue from a rear menu cell via SWRevealViewControllerSeguePushController to a UITableViewController, the animation starts quickly but then hangs without app crashing, UI is unaccessible via touches and doesn't react anymore. When instead I use a UIViewController it works perfectly. As soon as I add again a UITableView in the UIViewController, it hangs again.
Basically, when using with an UIViewController it works. When using either with UITableViewController or nested UITableView in a UIViewController it hangs.
Any Help?
Vince
I'm currently using this component in xamarin
http://components.xamarin.com/view/SidebarNavigation and basically it works fine, but when i try to use a UITableViewController as one of my content and add a lot of items in tableview that will basically make the app scroll, the app didn't actually scroll when you run it to iOS simulator, I haven't add any code yet to my contentController and I haven't change any property on my UITableView, just drag a UITableViewController from toolbox set up the code behind controller, storyboard ID, Restoration ID add some data to the tableView then hit run.
I don't know if this is a bug or I'm doing something wrong? any idea everyone? or you can just give me any free component that use as navigation drawer in iOS app.
thanks!
I think it's a bug!
You can solve it by wrapping your uitableview in a uiview.
Just make a fresh view controller and put a tableview as its only child!
Good luck ;)
I have an iOS project in Xcode.
It has a standard UITableView and I made a static UITableViewController in a storyboard.
I added a push segue from a UITableViewCell to another UITableViewController.
But it's weird; Click events don't respond properly.. Specifically, the cell doesn't respond with the first touch event. But the segue does work by swiping (to left or right).
I never added anything for the swipe cause a segue.
I only added selection issue(push) for segue..
I have always use this method without issue until now so I'm a bit confused..
Do you have any idea what is causing this??
I had an interesting problem when I added a second table on UIViewController. At the first table (which is right) appears contentOffset in interface builder and in the application.
I also try implement this with help container view. Result not changed. Any idea why this can be?
UPD1: If I do this in code, all works fine.
UPD2: I am using Xcode 5.0.1
UPD3: Steps to reproduce:
1. Add UINavigationController, remove UITableViewController.
2. Add UIViewController
3. Add to UIViewController two UITableView's
4. Set frames for first UITableView {0,65,160,504}, for second {160,65,160,504}
5. If you added UITableViewCell to left table, you will see strange offset. If you run app you can touch it.
Are you using Xcode 5? It could just be a bug with storyboard. I just recommend adding the UITableView from the code. Apple should iron out any bugs with Xcode pretty soon but for now, just add it from the code.
Ok! I found the root of problem. If in UINavigationController set topBar as Translucent Navigation Bar (by default) then for the first UITableView that will be added to the UIViewController it will automatically set contentInset in UIEdgeInsetsMake (64, 0, 0, 0), but only the first one. Everyone else will have a default contentInset. As the most optimal solution to the problem suggest to set in a storyboard to second table the same contentInset.