Detect iphone internet sharing bar visibility - iphone

on the iphone, when internet sharing is activated and another device is connected, a bar appear under the status bar. It makes the current view of the active app go down for some more 20 pixels.
I'd like to rearrange controls in my view when this new bar appears.
How can i detect when it becomes visible?

These other SO questions should point you down the right path:
How to position view below green bar during phone call?
Resize for in-call status bar?

Related

How can I hide the flickring bottom bar with save and cancel in mobile mode?

I have set hideSideBar=true and still in mobile and tablet mode the bottom bar with save and cancel flickers when selfVM.save is called. There is a bottom bar even when not saving hiding content in mobil and tablet mode.
How can I hide the bottom bar?
You can always add a CSS rule that hides them.

Overlaps the status bar on view iOS7

I have develop the my iPad application in ios6 but now i want to develop that application in ios7 also , I am using .xib file and I am not using the AutoLayout i want to use the black status bar in my application and i want to make the application similar like ios 6 but the status bar is overlap on the view i use the different code like below link
Link 1
Position of navigation bar for modal view - iOS7
Link 2
iOS 7 - Status bar overlaps the view
Thanks in Advance
wont happen, two options:
use a custom background image that is sized accordingly.. IIRC 44 (for navbar) + 20 (for status bar)
OR
account for the 20 pixels by using a custom view which is black :D
In iOS 7, the status bar is transparent, and other bars—that is, navigation bars, tab bars, toolbars, search bars, and scope bars—are translucent. As a general rule, you want to make sure that content fills the area behind the bars in your app.
Because the status bar is transparent, the view behind it shows through. The style of the status bar refers to the appearance of its content, which includes items such as time, battery charge, and Wi-Fi signal. Use a UIStatusBarStyle constant to specify whether the status bar content should be dark (UIStatusBarStyleDefault) or light (UIStatusBarStyleLightContent):
UIStatusBarStyleDefault displays dark content. Use when light content is behind the status bar.
UIStatusBarStyleLightContent displays light content. Use when dark content is behind the status bar.
In some cases, the background image for a navigation bar or a search bar can extend up behind the status bar. If there are no bars below the status bar, the content view should use the full height of the screen.
In iOS 7, you can control the style of the status bar from an individual view controller and change it while the app runs. If you prefer to opt out of this behaviour and set the status bar style by using the UIApplication statusBarStyle method, add the UIViewControllerBasedStatusBarAppearance key to an app’s Info.plist file and give it the value NO.
For more details about how to use status bar with navigation controller, please refer my answer here.
Try below to do not overwrite status bar:
[navController.navigationBar setBackgroundImage:[UIImage imageNamed:#"navBar.png"] forBarPosition:UIBarPositionTop barMetrics:UIBarMetricsDefault];
A workaround to use the old style status bar is to modify the frame of the main view and shift it down 20px. This will only work on viewWillAppear function but you need to make sure you call this once. This is more of a hack than a solution:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.view setFrame: CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y+20, self.view.frame.size.width, self.view.frame.size.height-20)];
}

how to resize window with status bar in landscape mode

I have a window that is in landscape mode. I have shifted my statusbar in landscape mode but the area where my statusbar was is still left white. I need to remove my window so that the area is filled. Can anyone help?
If you're using Interface Builder, set the Status Bar attribute to None in your view (under Simulated Metrics in the Inspector), and it will stop believing it has a status bar. I don't know if this is the specific problem you're having without further information, but this has been the cause of white status bar areas for me in the past.

Is it possible to cover UIStatusBar with a view while maintaining scrollsToTop functionality?

I want to display a message to the users of my app in the UIStatusBar, but I'd like to maintain the scrollsToTop functionality so a user can tap on the statusbar and scroll a tableView up to the top.
I've looked into adding a UIWindow on top of the current status bar as in this question: Add UIView Above All Other Views, Including StatusBar
But it disables the touches to the status bar.
Note: I've seen several apps that use the statusBar area to display messages such as the "Evernote" app.
Thanks for the help!
Have a look at https://github.com/myell0w/MTStatusBarOverlay. By pressing it it can be toggled to not cover the whole status bar and then you can toch the status bar and get back the scroll-to-top feature.
Here is a screenshot, the left side shows the expanded version, the right side the shrinked one:
Are you hiding the statusBar ? It's unwise to keep it there but draw into its position, because in different countries, with different mobile operators, the statusBar's elements have a little different positions. I've seen app drawing there over status icons. Ugly!
So I guess you want to add a subview at the position of statusBar. Why don't you intercept touch events in that view and send your tableView a message to scroll to the top ?

Prevent status bar from receiving touch events

Edit
After further testing, it appears that the part of my button that are not clickable are where the status bar used to be. I'm hiding the status bar with :
// -- Override point for customization after app launch
[[UIApplication sharedApplication] setStatusBarHidden:YES];
Also added the Boolean value to my *-info.plist file:
UIStatusBarHidden=true
Which is awesome because it hides the status bar even as the window animates up. But it's still receiving touches. Any idea on how to disable this?
Original Post
Is there's a bounding box on an application that receives touch events? I created a few sample round rect buttons and placed them in different places in my view. The ones in the center of the view receive touch events (and show the highlighted blue color) but if I place a button near the edges of the view, only parts of them are clickable in the simulator. Is this because of Apples style guidelines? I placed a button exactly where a UITabNavigationItem would appear and only the bottom half of it is clickable.
Simulator has a bug with clickability of the former status bar area. Test on the real device.