2014-05-10 43 views
1

我想在自動佈局的iPhone應用程序中使用GPUImageView。我試過類似於: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)安裝。我不確定是否有任何新錯誤更新。

+0

也許您使用的約束有一些問題? –

+0

我應該在之前提到過 - 具有完全相同的約束,當我用UIImageView替換GPUImageView時,它似乎正確地顯示圖像。 – user3154427

回答

1

您可能看到的問題是UIImageViewintrinsicContentSize,但GPUImageView沒有。這意味着沒有任何寬度/高度限制,UIImageView將以正常尺寸顯示圖像,但GPUImageView(取決於其他約束條件,可能具有0寬度/高度)不會顯示圖像。

您可以在GPUImageView上添加其他約束來限制其寬度和高度以符合您的期望,也可以繼承GPUImageView並實施intrinsicContentSize以返回您所期望的任何內容。 (它通常不會實現,因爲通常它不能確定合理的尺寸;它會渲染到您製作視圖的任何尺寸。)

+0

就是這樣。我對寬度/高度的上限有限制,但不在下限。謝謝! – user3154427