gpt4 book ai didi

iphone - 是否有 UIView 调整大小事件?

转载 作者:IT王子 更新时间:2023-10-29 07:29:49 25 4
gpt4 key购买 nike

我有一个 View ,其中包含 ImageView 的行和列。

如果调整此 View 的大小,我需要重新排列 ImageView 的位置。

此 View 是另一个已调整大小的 View 的 subview 。

有没有办法检测何时调整此 View 的大小?

最佳答案

正如 Uli 在下面评论的那样,正确的做法是重写 layoutSubviews 并在那里布置 imageViews。

如果出于某种原因,您不能子类化和覆盖 layoutSubviews,那么观察 bounds 应该可行,即使有点脏。更糟糕的是,观察存在风险——Apple 不保证 KVO 在 UIKit 类上工作。在此处阅读与 Apple 工程师的讨论:When does an associated object get released?

原答案:

您可以使用键值观察:

[yourView addObserver:self forKeyPath:@"bounds" options:0 context:nil];

并实现:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if (object == yourView && [keyPath isEqualToString:@"bounds"]) {
// do your stuff, or better schedule to run later using performSelector:withObject:afterDuration:
}
}

关于iphone - 是否有 UIView 调整大小事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4000664/

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