【问题标题】:GPUImageView with Auto Layout具有自动布局的 GPUImageView
【发布时间】:2014-05-11 22:31:15
【问题描述】:

我正在尝试在具有自动布局的 iPhone 应用程序中使用 GPUImageView。我试过类似的东西:

_imageView = [[GPUImageView alloc] init];
[self addSubview:_imageView];
[_imageView setTranslatesAutoresizingMaskIntoConstraints:NO];    
_gpuImage = [[GPUImagePicture alloc] initWithImage:image];
[_gpuImage addTarget:_imageView];
[_gpuImage processImage];

当我构建和运行项目时,GPUImageView 似乎不可见。

如果我删除所有自动布局约束并使用 initWithFrame 初始化 _imageView,它是清晰可见的。所以,我想知道 GPUImageView 是否适用于自动布局?我需要做更多的事情让它可见吗?

更新:GPUImage 是通过可可豆荚 (~ 0.1.4) 安装的。我不确定我错过的项目是否有任何新的更新。

【问题讨论】:

  • 您使用的约束可能有问题?
  • 我之前应该提到过这一点 - 在完全相同的约束条件下,当我用 UIImageView 替换 GPUImageView 时,它似乎可以正确显示图像。

标签: ios autolayout gpuimage


【解决方案1】:

您可能看到的问题是UIImageView 有一个intrinsicContentSize,但GPUImageView 没有。这意味着在没有任何宽度/高度约束的情况下,UIImageView 将以正常大小显示图像,但 GPUImageView 不会如此(取决于您的其他约束,它可能具有 0 宽度/高度)。

您可以在GPUImageView 上添加额外的约束以限制其宽度和高度以匹配您的期望,或者您可以将GPUImageView 子类化并实现intrinsicContentSize 以返回您期望的任何内容。 (它不会正常实现这一点,因为通常它无法确定合理的大小;它呈现为您制作视图的任何大小。)

【讨论】:

  • 就是这样。我对宽度/高度的上限有限制,但对下限没有限制。谢谢!
猜你喜欢
  • 1970-01-01
  • 2014-12-09
  • 1970-01-01
  • 1970-01-01
  • 2021-10-12
  • 1970-01-01
  • 2021-11-14
  • 1970-01-01
  • 2021-01-07
相关资源
最近更新 更多