supporting auto-rotate for translucent statusbar
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63253 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -306,7 +306,7 @@ wxWidgetImpl* wxWidgetImpl::CreateContentView( wxNonOwnedWindow* now )
|
||||
CGRect frame = [toplevelwindow bounds];
|
||||
CGRect appframe = [[UIScreen mainScreen] applicationFrame];
|
||||
|
||||
if ( now->GetWindowStyle() == wxDEFAULT_FRAME_STYLE )
|
||||
if ( now->GetWindowStyle() == wxDEFAULT_FRAME_STYLE && [[UIApplication sharedApplication] statusBarStyle] != UIStatusBarStyleBlackTranslucent)
|
||||
{
|
||||
double offset = appframe.origin.y;
|
||||
frame.origin.y += offset;
|
||||
@@ -357,9 +357,31 @@ wxWidgetImpl* wxWidgetImpl::CreateContentView( wxNonOwnedWindow* now )
|
||||
|
||||
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
|
||||
{
|
||||
CGRect fr = [self.view frame];
|
||||
CGRect frame = [self.view frame];
|
||||
wxWidgetIPhoneImpl* impl = (wxWidgetIPhoneImpl* ) wxWidgetImpl::FindFromWXWidget( [self view] );
|
||||
wxNonOwnedWindow* now = dynamic_cast<wxNonOwnedWindow*> (impl->GetWXPeer());
|
||||
|
||||
if ( now->GetWindowStyle() == wxDEFAULT_FRAME_STYLE && [[UIApplication sharedApplication] statusBarStyle] == UIStatusBarStyleBlackTranslucent)
|
||||
{
|
||||
CGRect appframe = [[UIScreen mainScreen] applicationFrame];
|
||||
if ( CGRectEqualToRect(appframe, frame) )
|
||||
{
|
||||
if ( appframe.origin.y != 0 )
|
||||
{
|
||||
double offset = appframe.origin.y;
|
||||
frame.origin.y -= offset;
|
||||
frame.size.height += offset;
|
||||
}
|
||||
else
|
||||
{
|
||||
double offset = appframe.origin.x;
|
||||
frame.origin.x -= offset;
|
||||
frame.size.width += offset;
|
||||
}
|
||||
|
||||
[self.view setFrame:frame];
|
||||
}
|
||||
}
|
||||
|
||||
now->HandleResized(0);
|
||||
}
|
||||
|
Reference in New Issue
Block a user