gpt4 book ai didi

iphone - 编程大小更改后,UIView 不会保持调整大小?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:29:48 26 4
gpt4 key购买 nike

我有一个 UIViewController,里面有一个 UIView 容器。当广告出现在屏幕上时,我正在调整该容器的大小,以说明广告在屏幕上占据的差异。问题是 View 被调整大小,然后立即变回原样。我现在尝试了很多事情但没有成功。

我曾努力在 viewDidLoad 方法中调整容器 View 的大小,但它没有做任何事情。我还尝试设置 self.view.autoresizesSubviews = NO; 我的目标是让 View 以与我的广告在屏幕上显示动画相同的方法显示尺寸变化。但是,无论我做什么,尺寸变化都不会保留。

我用来设置框架的代码:

CGRect rectFrame = CGRectMake(self.tableViewController.frame.origin.x,
self.tableViewController.frame.origin.y,
self.tableViewController.frame.size.width,
self.tableViewController.frame.size.height - 300);

self.tableViewController.frame = rectFrame;

最佳答案

这是因为自动布局,它默认是开启的。您要么需要关闭它,要么通过动画约束而不是设置帧来动画大小更改。要为 View 底部的约束设置动画,请为其创建一个 IBOutlet(我将其称为 bottomCon),并修改其常量参数:

[UIView animateWithDuration:1 animations:^{
self.bottomCon.constant = 300;
[self.view layoutIfNeeded];
} completion:nil];

关于iphone - 编程大小更改后,UIView 不会保持调整大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18732743/

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