How to fix the position of navigation bar when using using IQKeyboardManager? - ios

I am using "IQKeyboardManager" library, when to hit the text field then keyboard appears and all view push to top. Also, the navigation bar shows on top. How to fix the position of navigation bar.

After searching for the same thing on library Github page i came across following, I am sure this is exactly what you are looking for.
Keep UINavigationBar at the top (Don't scroll with keyboard)

Related

White Bar appearing at bottom of each view controller in storyboard but doesn't affect when ran

In my storyboard view these white bars appeared at the bottom of every view. I can't remember what I did when they appeared, the only thing I can think of was that I tried to add a bar button but then deleted it, so maybe that created some sort of bar. However the bar doesn't show up when running the app in the simulator, it just has a visual in the storyboard.
Does anyone know what it is / why it appeared? and also how can I get rid of it. I got rid of a few by changing the view heights and then changing them back, but when trying to do the same in the first view when I clicked the white bar they all appeared again on every view.
Also, I've noticed some are within the view and some are an extension.
This issue is caused by adding a bar button item and then removing it. The fix is pretty easy though. Go to your storyboard and select the View Controller having the issue.
You will then want to go to the Utility area on the right side of your screen. You will see Bottom Bar = Translucent Toolbar. Change that to None and you're good to go.

Placing a share button over a uiwebview

I have an rss app that I'm working on in xcode and the articles load up in a full screen web view. I need to place a "share" button in the navigation bar but since my uiwebview is full screen it won't show up when I run the app. I even tried cropping the top of the web view lower and placing the button there but still no luck. Here is an example of what I mean:
The share button needs to be on the right side of the navigation bar but i cannot seem to figure out how that make that work.
Thanks in advance
Fist of all, your top navigation bar seems to be missing (judging by your image). Since the nav bar is missing there is no possible way that the share button will be visible. You can do this is the IB or in your code.
For your IB you can move the view controller's 'layer's' so to speak. When you place all the elements down, your VC should look something like this:
On the left hand side we can see what subviews are at the top and which ones are at the bottom.
As we can see here that the UIWebView is at the top of the list, so it'll be at the bottom of the pile. The navigation bars are further down the list so they'll be at the top of the pile. So due to this they'll go over the UIWebView.
The other way to do this is using insertSubview:aboveSubview:. Fist of all you'll add your UIWebView using addSubview: and then add the nav bar using insertSubview:aboveSubview: and finally you'll add your button the someway as you did for the nav bar, but this time you'll be adding the button above the nav bar not the web view.
My best guess is that your forgetting to add another navigation bar to the top of the screen. Hope this helps!!

Attach a Segmented Control to UINavigationBar

In my App, I have a map view and I want to use a segmented control to change the map types (Standard, Hybrid, Satellite). The way I have the app set up, the status bar is hidden and it animates in, moving the navigation bar down a bit. To make sure it doesn't look awkward, I want to make it so the segmented control is attached to the navigation bar so it animates nicely as the status bar comes in. This is basically a picture of what I want to do:
So I noticed that the segmented control is inside a toolbar, so I contain mine in a toolbar as well. I've then tried adding the toolbar to the navigationBar as a subview. (self.navigationController.navigationBar). That works well accept that it can't be tapped because the navigation bar's frame doesn't enclose the extra space, so it can't receive touches. I tried making the frame of the bar bigger, and that worked, but the title and the buttons went away. Obviously there is some way to do this, and I would appreciate any help. Thanks.

push up and swap Navigation Bar in iOS

I've seen this being achieved a few months ago in an app (wish I could remember which).
My main screen is a scrollable view (UITableView) that has the default navigation bar on top, and another added navigation bar at the bottom.
When I scroll down (swipe finger up), the bottom navbar will eventually reach the top. What I'm trying to achieve is to make the top navbar be pushed up by the bottom navbar as I'm scrolling and swap it. All in a smooth transition, which will of course work in the opposite direction (be reversible).
Can anyone give me directions on how to go about doing this?
I have thought about creating an animation, but not sure if its actually possible to push up and out of the screen the "default" navigation bar of the view controller.
Thanks.
I think what you are looking at is headers for sections in an UITableView.
See Apple's documentation on UITableView`: Documentation
Specifically, see the headerViewForSectionmethod.

storyboard: table view appearing behind navigation bar

As per the picture below, part of the TableView is appearing behind the Navigation Bar.
I had been ignoring it, thinking it was just the way the storyboard drew things because it looks ok in the app. But it can be problematic - sometimes, to select the cell behind the Navigation Bar, one needs to use the Document Outline.
Is that just how it goes? Or is there a way to get Xcode to draw things properly?
It looks like you have selected a translucent navigation bar which will not push down other subviews. Try using the standard or black navigation bar. It probably looks fine in the app because your navigation controller using the non-translucent bar.

Resources