gpt4 book ai didi

ios - 什么可能会阻止我的框架在方向改变时调整大小

转载 作者:行者123 更新时间:2023-11-29 12:40:07 25 4
gpt4 key购买 nike

当我的设备改变方向时,我看到了我希望调整大小的 View 的日志事件,但是 View 没有在视觉上更新。什么可能阻止此更新?下面是我在收到方向通知更改时运行的代码。

- (void)interfaceOrientationDidChangeNotification:(NSNotification*)note
{
UIInterfaceOrientation currentOrientation = [UIApplication sharedApplication].statusBarOrientation;
BOOL isLandscape;
NSLog(@"Original Frame Size: %@", NSStringFromCGRect(self.baseView.frame));

if((currentOrientation == UIInterfaceOrientationLandscapeLeft)
|| (currentOrientation == UIInterfaceOrientationLandscapeRight)){
isLandscape = YES;
[self.baseView setFrame:CGRectMake(100, 100, 310, 180)];
[self updateTextFontSize:14 andXPosition:70];
NSLog(@"In Landscape Mode Frame Size: %@", NSStringFromCGRect(self.baseView.frame));
}else{
NSLog(@"In portrait mode");
[self.baseView setFrame:CGRectMake(100, 100, 610, 480)];
[self updateTextFontSize:18 andXPosition:50];
NSLog(@"In portrait mode Frame Size: %@", NSStringFromCGRect(self.baseView.frame));

}

[self.view setNeedsLayout];
}

我创建了一个示例项目来说明该问题,可在 https://github.com/propstm/ViewResizeTest 找到

最佳答案

这是因为您正在使用自动布局。使用自动布局时,您不能直接更改某些内容的框架;这就是 Auto Layout 的工作。如果你尝试它,自动布局就会出现并将它改回来。您需要更改约束

关于ios - 什么可能会阻止我的框架在方向改变时调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25206199/

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