Starbucks App Modal View Controller with MapView And TableView - ios

I'm looking to replicate the basic functionality of the Stores finder in the new Starbucks app but am unsure as to how I would go about implementing the sliding aspect of presenting the view:
The main aspect of the functionality I am trying to replicate is the ability to present the modal and have it dismissible by sliding it down off the screen or expand to full screen when scrolled up.
Also notice how the scroll bar doesn't overflow the modal (tableview)? I'm not sure if this is a tableview nested within a scrollview. Either way, the scroll seems to be controlling both the scrolling of the tableview and the moving of the modal at the same time, which is neat.
Update: I'm able to dismiss the Modal by sliding it down but still not able to expand to full screen when scrolled up without having the scrollview scroll when I pan. I want the scrollview to flash the scroll indicator but not do the scroll while I'm growing the containing view to full screen, and resume scroll after I reach full screen. All without having to disable bounce at least when scrolled downwards.

Related

iOS How to put scrollView inside scrollView but not allow the internal scrollView to scroll the external?

In my app I have a modal View Controller that gets dismissed by dragging the screen down, but in the center of that screen I have UITextView. The problem is that when I scroll to the top of the textView and drag its content down the View Controller gets dismissed. How can I avoid that? I would like the external scrollView to scroll independtly of the textView.
I used title like that because I suspect it's the same problem, but please correct me if I'm wrong

Swift ios: drag view controller onto screen

Is there any way to drag a view controller onto the current view controller using Swift? I would like to drag from the bottom of the screen and have the new view controller follow the finger. When the finger releases, I want for the view to snap into place. The view controller that I plan to drag on needs to have a transparent background so that the previous view is still visible. I tried using a swipe gesture paired with an animation that brings in the view from the bottom, but the previous view turns black momentarily before the animation is complete. Also, it doesn't follow the finger's path. This is similar to what happens when you try drag from the bottom of the camera app. It brings up a page, following your finger, and darkening the background. I am doing this programmatically. Thanks.
To do this you will need to use a UIPageViewController and set its transition style to scroll and navigation to vertical. There are lot's of great tutorials on how to use a UIPageViewController so just look online.

scroll top navigation bar similiar to flipkart app ios

I have a logo on a navigation bar. Beneath it, I have a searchbar with three bar buttons on its both sides.
The searchbar and bar buttons are put in a UIView which is beneath the navigationbar.
I want to implement a functionality where with a very small pinch of scroll on the tableview by user, the navigationbar should move above with animation with scroll up and should come down with animation for scroll down.
Along with this, the searchbar should occupy the position of the logo while scrolling up and should come at its original position when scrolling down.
This is the same functionality implemented in Flipkart app on the Home page.
I tried using SQTShyNavigationBar by Cocoa Controls
https://github.com/cbpowell/SQTShyNavigationBar, but that does not adjust the position of my search View.
Please help me with this.

Scrollview scrollsToTop doesn't work when containing multiple side by side tableviews? Have searched repeatedly

I looked in this thread and tried everything I saw, and I can't seem to get it working.
Scroll to top of UITableView by tapping status bar
I have a UINavigationController and a UITabBarController. The application first opens to a UICollectionView.
When the user makes a selection, it brings up a ScrollView run by a custom UIViewController ("ScrollViewController"). The ScrollViewController makes four TableViewControllers and puts their TableViews in the ScrollView side by side with paging enabled, and has a floating UIPageControl as well.
Tapping the top bar scrolls the CollectionView to the top, but once I bring up the ScrollView, I can't scroll up from anywhere. I have tried setting all the TableViews' scrollsToTop to NO, no change.
Any suggestions?
That's correct. You can only have one scroll view controlled by the tap of the status bar. If you have multiple scroll views on the screen (either hidden or visible) you can set one of them to be controlled by the status bar tap by disabling the auto scroll on all of the other scroll views using scrollsToTop = NO, that includes anything that uses a scroll view within it, like a table view or a pager.
self.myTableView.scrollsToTop = NO;
According to Apple's documentation:
On iPhone, the scroll-to-top gesture has no effect if there is more than one scroll view on-screen that has scrollsToTop set to YES.

Present UIPopoverController from a moving rect

Just got this weird problem, where I have a scroll view and buttons in the scroll view. I want to display a UIPopover from the button when touched, with UITextFields inside the UIPopover. The problem comes when the Keyboard appears. In certain cases, when the UIButton is so high in the view that the popover can only be displayed under it with the UIPopoverArrowDirectionUp, and when keyboard pops in, this popover cannot move any more up and therefore magically disappears to the top left corner (probably some Apple thing).
My solution is to check the frame of the UIPopover and to check that there is enough space for the keyboard, and if not, scroll the UIScrollView up with the buttons as well in order to be able to push the UIPopover up and so make sure that both the Keyboard and the popover fit.
So the question is: Is it possible to move the popover as the button moves?
Thanks

Resources