gpt4 book ai didi

objective-c - 在方向更改时更改 UIView

转载 作者:太空狗 更新时间:2023-10-30 03:21:08 24 4
gpt4 key购买 nike

大家好。我有一个相当简单的问题。我正在开发一个“丰富”的 iPad 应用程序,我有两个专门为横向和纵向设计的背景图像。我希望此 ImageView 根据设备方向自动更改。 (就像几乎所有 Apple 的 iPad 应用程序一样)。

谁能指出我正确的方向?我假设这将是我在 viewDidLoad 上做的事情..

最佳答案

您能做的最好的事情就是根据您的界面方向更改 subview 框架的框架。你可以这样做:

 #pragma mark -
#pragma mark InterfaceOrientationMethods

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (UIInterfaceOrientationIsPortrait(interfaceOrientation) || UIInterfaceOrientationIsLandscape(interfaceOrientation));
}

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{
[super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];
if(UIInterfaceOrientationIsPortrait(toInterfaceOrientation)){
//self.view = portraitView;
[self changeTheViewToPortrait:YES andDuration:duration];

}
else if(UIInterfaceOrientationIsLandscape(toInterfaceOrientation)){
//self.view = landscapeView;
[self changeTheViewToPortrait:NO andDuration:duration];
}
}

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------

- (void) changeTheViewToPortrait:(BOOL)portrait andDuration:(NSTimeInterval)duration{

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:duration];

if(portrait){
//change the view and subview frames for the portrait view
}
else{
//change the view and subview frames for the landscape view
}

[UIView commitAnimations];
}

希望这对您有所帮助。

关于objective-c - 在方向更改时更改 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2734569/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com