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 frame = [toplevelwindow bounds];
|
||||||
CGRect appframe = [[UIScreen mainScreen] applicationFrame];
|
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;
|
double offset = appframe.origin.y;
|
||||||
frame.origin.y += offset;
|
frame.origin.y += offset;
|
||||||
@@ -357,9 +357,31 @@ wxWidgetImpl* wxWidgetImpl::CreateContentView( wxNonOwnedWindow* now )
|
|||||||
|
|
||||||
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
|
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
|
||||||
{
|
{
|
||||||
CGRect fr = [self.view frame];
|
CGRect frame = [self.view frame];
|
||||||
wxWidgetIPhoneImpl* impl = (wxWidgetIPhoneImpl* ) wxWidgetImpl::FindFromWXWidget( [self view] );
|
wxWidgetIPhoneImpl* impl = (wxWidgetIPhoneImpl* ) wxWidgetImpl::FindFromWXWidget( [self view] );
|
||||||
wxNonOwnedWindow* now = dynamic_cast<wxNonOwnedWindow*> (impl->GetWXPeer());
|
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);
|
now->HandleResized(0);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user