This problem appears similar to other posts, it is not the same as any I can find.
My application has "NO" status bar, it uses a tab bar controller and each tab has a navigation controller. There is nothing special about any of these controllers, all per Apple's guidelines.
When a video is selected a view is pushed onto the stack and shows information about the video and a UIWebView with HTML5 and the Video (+ViewPort) tags. The video goes full screen, if you tap the video and hit done, you return to the view without any issues.
If you rotate the device while the video is playing, then tap and select Done you are returned to the view but the 20px status bar remains as white space. No events are fired anywhere when the video quits so I have not been able to resize the view.
(just an FYI, I tried making the app use a StatusBar, the result was a chopped off view when the video quit under the same conditions)
Any ideas would be great, thanks.
This has been confirmed by Apple as a bug and will be fixed in a future release. I opened the bug with ID 9251792 if anyone needs a reference.
Related
Is it possible to block appearing of notification screen by swiping from top edge of screen on iPhone when my application is in foreground state. Doesn't this break iOS HIG rules?
You don't want to do that. (And you can't.)
There is a way to keep it from appearing immediately, however: hide the status bar. When you do this, the system will first show a little grabby thingy when the user swipes down from the top. If the user swipes again, Notification Center will show.
In my app I am showing loading screen when request is sent to server and when response is received I am removing that loading screen.
To display loading screen I used UIView and reduce its alpha to 0.5 so that it shows the background view.
My problem is user is able to click button displayed on background view when loading screen is still visible.
What I want is: User should not be able to click anywhere on the screen when loading screen is visible. Even though I made userInteractionEnabled false for UIView but still user is able to click on button, why?
If any one knows where I am doing wrong and how I can achieve this, please let me know.
Thanks in advance!
The UIView may have interaction disabled but if the button is higher on the view hierarchy then its on TOP of the view so it's still accessible.
If this is a view made in the nib then make sure its at the top of the view stack
Or if its programmatically then add it as a subview at the end of the function or add it mainWindow (be VERY careful adding things to main Window, this is the top of the hierarchy)
Like wise the utility open source library available.
iOS open source project is MBProgressHUD,
it refers to Heads Up Display, a view that is overlayed on another view, typically to show an activity indicator and/or offer a means to interact with the UI. A good example of an HUD is when playing a movie with the built in movie player. When you tap the screen, the movie player will show a series of controls on the display. Another common example, and one that is pertinent to MBProgressHUD, is showing progress indicators on top of an existing view. For example, when accessing a remote service, to provide feedback to the user you may opt to display a “Please Wait” message
you can download the source code from here.
Yes I got it, I did userInteractionEnabled false for UIView so the click event was sent to the button which was on main view.I removed userInteractionEnabled false and it is working fine.
You can use [[UIApplication sharedApplication] beginIgnoringInteractionEvents] when you are sending request to server & shows loading view.When you receives the response call [[UIApplication sharedApplication] endIgnoringInteractionEvents] & remove the loading view.
When I embed a youtube video with a UIWebView, I get a 'Done' button when the video is brought up. The 'Done' button does not perform the way i want it to, how do I create my own 'Done' button?
You could overlay a view containing a button and anything else you want on top of the UIWebView and then connect things up as you see fit. You have to be careful about resizing on rotation and keep in mind that changes could be made to the you tube video presentation which are out of your control.
Solution to original problem: Use iframe embedding instead of flash embedding!
I have a simple app with a full screen UIWebView. This contains HTML generated by the app. I respond to clicks on various elements of the page via document.location = "someCommand"
I have to touch the screen once before it will respond to a second touch. It's almost like it is not the focused control.
It is the only view in the app.
How can I ensure that the first time the UIWebView is touched it responds?
I think you should simply set it as the firstResponder when your view controller is put on the screen.
I noticed some iPhone apps give you the title screen instantly.
Then there are some apps that gives you a black/blank screen for a brief moment.
I have the latter issue, but its lasting about 2 seconds.
I would like to display a PNG image (over 200 KB size) and a loading indicator view.
My app is based on UIView. The specified a custom UIView that basically loads and renders the said image as the wallpaper.
I tried not loading this image, yet im still getting a 2 second delay time to load.
The app delegate basically sets the view controller's view as a subview.
This delay is only seen on the device, not on the simulator.
What am i over-seeing?
If you place a Default.png file in your mainbundle, it gets displayed at launch time between the time that the app is tapped on till the time that you replace it with another view.
The reason you don't see it in the simulator is because it is faster at loading your app.
If you want to display a progress indicator, you will only be able to do it once the appDidFinishLaunching is called, but the delay that you are seeing is still there.
One trick I use is to have the same Default.png displayed again in appDidFinishLaunching and then draw a progress bar on top of that. Sure there is still the static display during the initial delay, but from there until all my initial views are loaded, I display a progress bar.
There have been some recent discussions about this on StackOverflow that you should see. And see this: How To Make Your iPhone App Launch Faster