gpt4 book ai didi

ios - 以编程方式设置 Struts 和 Spring 以使 UIView 在旋转时保持全屏

转载 作者:行者123 更新时间:2023-12-02 07:36:04 27 4
gpt4 key购买 nike

我需要的很简单:我希望我的 UICollectionView 框架始终填充屏幕,无论设备如何旋转。

现在,我通过使用方法“willAnimateRotationToInterfaceOrientation:...”并调用在旋转时重新创建 Collection View 的方法来完成此操作。但是,当旧 View 被删除并添加新 View 时,这会导致旋转时 View 闪烁。

所以我知道我需要使用自动布局或支柱和 Spring ,我想使用后者。我知道如何使用界面生成器设置支柱和 Spring ,但我正在从事的项目不使用 Nib 或 Storyboard。

这是我创建 Collection View 的方法(在 viewDidLoad 中调用),包括我所拥有的不起作用的代码:

 - (void)sceneSetup
{
CGFloat cvWidth;
CGFloat cvHeight;

if ([self getCurrentInterfaceOrientation] || [self getCurrentDeviceOrientation]) {
self.orientationIsLandscape = YES;
cvWidth = 1024;
cvHeight = 768;

} else {
self.orientationIsLandscape = NO;
cvWidth = 768;
cvHeight = 1024;
}

EmailsLayout *layout = [[EmailsLayout alloc]init];
[layout setScrollDirection:UICollectionViewScrollDirectionHorizontal];
self.emailsCollectionView = [[UICollectionView alloc]initWithFrame:CGRectMake(0, 0, cvWidth, cvHeight) collectionViewLayout:layout];

//here is my attempt to programmatically set struts and springs
self.view.autoresizesSubviews = YES;
self.emailsCollectionView.autoresizingMask = (UIViewAutoresizingFlexibleWidth &
UIViewAutoresizingFlexibleHeight & UIViewAutoresizingFlexibleLeftMargin &
UIViewAutoresizingFlexibleRightMargin & UIViewAutoresizingFlexibleTopMargin &
UIViewAutoresizingFlexibleBottomMargin);

self.emailsCollectionView.dataSource = self;
self.emailsCollectionView.delegate = self;
[self.emailsCollectionView setScrollEnabled:YES];
self.emailsCollectionView.userInteractionEnabled = YES;
self.emailsCollectionView.pagingEnabled = YES;
self.emailsCollectionView.backgroundColor = UIColorFromRGB(0x262d32);
[self.emailsCollectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:cellIdentifierEmails];
[self.emailsCollectionView reloadData];

[self.view addSubview:self.emailsCollectionView];
}

不知道我做错了什么。如有任何帮助,我们将不胜感激。

最佳答案

尝试使用 | 将多个autoresisingMask 值组合在一起,而不是 &.

关于ios - 以编程方式设置 Struts 和 Spring 以使 UIView 在旋转时保持全屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18257795/

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