When the UIAlertView appear,what view changes made to the viewcontroller - uiview

I want to know how the UIAlertController work. I am trying to develop loading a view which will do the same like UIActivityIndicatorView. When my loading view is appearing on the screen, I want to do the same thing like UIAlertController which code made the whole screen black and user interaction disabled to that view until the user click "OK". Any help please?

Related

iOS - Swift - How to display UIAlertViewController without disabling background

I wanted to display a Popup view on top of the screen but while enabling the actual screen as well. User should be able to perform all touch actions on the screen's controller while displaying and allowing touch actions on popup view as well. No fade for background ofcourse.
I do not see a existing style for UIAlertController that meets this need.
Is it possible with UIAlertController?
(PS. with UIPopoverPresentationController Custom style, managed to disable fade but still couldn't get the touch controls work on background screen)
Sounds like you might want to look into passthroughViews property on UIPopoverPresentationController. From the documentation:
"When displayed, taps outside of the popover window cause the popover to be dismissed automatically. To allow the user to interact with the specified views and not dismiss the popover, you can assign one or more views to the passthroughViews property."
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIPopoverController_class/

iOS popover with a close button outside

I need to create below thing
Currently i'm using WYPopover , but I can't create the button since it's outside of the popover. Is there any existing solution out there ? Many thanks
Create a bigger popover UIView holding all your child elements (current popover + button) and make its background transparent or however you wish.
Popover-controller's are exclusively used in iPad. If you want to use in iPhone, you should create it in a custom way.
I am not familiar with the XYPopover in Github, but normally the custom created popover should be dismissed whenever the user taps any place in the screen. That is one of the key feature of the popovers.
Normally the custom popovers are build like, adding a hidden parent view and then the visible image of a popover frame on it.
You should to do the following,
Avoid dismissing the parent view on tap of parent-hidden-view.
Add a close button at the area where you want to show the close button, on top of the parent-hidden-view.
Capture the button click and dismiss the view (remove the view from superview)
How to customize your need
Creating custom popover view is not a big task. It will take maxim one day, try it your self.
One Parent view with clear color
One background image of a popover frame.
View-inside popover (this needs to be customized for UIPopover also).
Close button.

Laucning View from UIAlertView, and when new View Dismissed want original AlertView still visible

I am using UIAlertView to let the user know some information, I have a button on the AlertView that when clicked triggers a whole new view to be shown.
The pseudo code run when the button is clicked is:
Find my UIViewController, and initiate the veiw controller for my new view, and call presentModalViewController:mySecondView animated:Yes
And this works fine..
On mySecondView I have a button that I use to dismiss the view using dismissModalViewControllerAnimated:YES
Now, the transitions work, I click on the UIAlertView Button and the SecondView appears, and when I click on the Exit Button my original View appears, unfortunately it appears without the ALERTVIEW that started the transition..
I want the first view to reappear with the AlertView still visible, after all the user did not dismiss it. So, what is the best way to go about this? Have the button simply load the veiw from a nib, and add it to the subview of the parentview of alertview, and then hide it when the exit button is pushed? Seems kludgy and boring, but I assume this would work...
Store the fact the alert view is visible in a modal variable, and on the ViewWillAppear check the modal, and then redraw the UIALERTVIEW? This seems like a memory leak to me, since the original view was never explicitly released...
I got to believe there is a more elegant solution... any ideas anyone?
Well, in the end I just wound up just recreating the alert view after the secondary view was dismissed. I can't say I'm crazy about it, but it does provide the behavior I need without lots of hacking.

Prevent iPad UIAlertView from dismissing when clicked outside of it?

Is it possible to prevent the default nature of the iPad not iPhone UIAlertView so that when a person clicks outside the bounds of the UIAlertView it will not dismiss? Currently you can click anywhere on the screen and it will just dismiss but I can not have this feature because the user has to click something inside the alert view otherwise my application will not run right and it will crash!
So is there any way to change this default behavior?
Thanks!
What you can do is to show a view that blocks the screen and then call the UIAlertView.
So now you have your view, the blocking view and the UIAlertView in front.
When you clic the UIAlertView option you also dismiss the blockingView.
This blocking View is like a loading View but without a spinner.

iOS connect my view to popup on button press

I have two xibs, one is my title screen with buttons, the other is a more specific window that should come up when one of the buttons is pressed.
This isn't switching the whole screen, just a popup window, where clicking outside of the bounds of that window will make it disappear leaving only my title screen remaining as it was visible behind this popup view. This is similar to my understanding of "modal views".
Anyway I do not quite get how to connect it to the button on my title screen. I have the views made in IB ready to go. I'm not sure if I have declared all objects to satisfaction yet.
From what I understand I think I need a UIViewController or something, but its all a pretty thick fog of information right now
insight appreciated, or links to proper noob sources would be helpful
Does your title screen have a view controller (or is your app delegate the main controller object)? You will want to add an IBAction to that object, connect the button to it, and then present your other view controller modally (or in a popover) from there.
A popover will appear in a small window with an arrow, and tapping outside will close it. A modal view controller typically slides up into place, and you have to press a cancel button to close it. This guide explains how to use a popover. Using a modal view controller is simple if you have a view controller: [myViewController presentModalViewController:nextViewController animated:YES].

Resources