无法更改自定义表格单元格中的 UIImageView 框架

发布于 2024-10-09 18:02:35 字数 321 浏览 4 评论 0原文

我有一个自定义表格单元格。在其中,我(通过 IB)放置了某个帧的图像视图

在“cellForRowAtIndexPath”中,在某些条件下,我想修改此 UIImageView 的帧,所以我写了类似的内容:

UIImageView *imgv = (UIImageView *)[cell viewWithTag:1];
CGRect r = CGRectMake(20.0, 20.0, 10.0, 10.0);
imgv.frame = r;

但没有任何预期的情况发生(帧确实移动了一点,虽然没有移动到我想要的位置,但根本没有改变它的大小);

I have a custom table cell. In it I have put (via the IB) an image view of a certain frame

In 'cellForRowAtIndexPath', under certain conditions, I would like to modify the frame of this UIImageView, so I write something like:

UIImageView *imgv = (UIImageView *)[cell viewWithTag:1];
CGRect r = CGRectMake(20.0, 20.0, 10.0, 10.0);
imgv.frame = r;

But nothing expected happens (The frame does move a little though not to where I want, but doesn't change its size at all);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

或十年 2024-10-16 18:02:35

当您更改其大小时,您必须设置属性来缩放其内容。由于您无法在界面生成器中执行此操作,因此您必须在代码中执行此操作:

imgv.contentMode = UIViewContentModeScaleAspectFit;

尝试一下:

UIImageView *imgv = (UIImageView *)[cell viewWithTag:1];
imgv.contentMode = UIViewContentModeScaleAspectFit;
CGRect r = CGRectMake(20.0, 20.0, 10.0, 10.0);
imgv.frame = r;

关于该位置,我不确定为什么它不起作用。您能否确认是否仍然不起作用?

When you change its size, you have to setup the property to scale its content. Since you cannot do it in interface builder, you have to do it in your code:

imgv.contentMode = UIViewContentModeScaleAspectFit;

Try this:

UIImageView *imgv = (UIImageView *)[cell viewWithTag:1];
imgv.contentMode = UIViewContentModeScaleAspectFit;
CGRect r = CGRectMake(20.0, 20.0, 10.0, 10.0);
imgv.frame = r;

About the position, I'm not sure why it is not working. Can you confirm if still doesn't work?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文