UIView
には、画像とそのサブビューとしてのボタンがあります。私はrenderInContext
、または他の方法を使用してそれの "スナップショット"イメージを取得したいと思います。子を持つUIViewをレンダリングする
[clefView.layer renderInContext:mainViewContentContext];
私は私のUIView
(上記のように)それを渡すと、私は空白のビットマップを取得します。いずれの子もビットマップにレンダリングされません。
イメージである子ビューを渡すと、そのビットマップのイメージが表示され、兄弟(ボタン)も表示されません。
私は、renderInContext
が画像を撮影し、それがすべて子どもに見えるようにして、それをビットマップにレンダリングすることを望んでいました。誰にどのようにこれを行うためのアイデアを持っていますか?シンプルな4行バージョンが私のために動作しませんでした
UIGraphicsBeginImageContext(clefView.bounds.size);
[clefView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
ありがとうございましたが、それはしませんでした。私は同じ結果を得る。問題は、私が思うに、renderInContextは、サブビューをトラバースしていないだけで、それに渡される最上位のレイヤーをやっているということです。各サブビューに対してrenderInContextを呼び出さなければなりませんか? – mahboudz
もう一度試してみてください。これが正解です。私のImageContextはスーパービューではなく、兄弟ビューに設定されていました。 ありがとう! – mahboudz
これは私が遭遇した他のどの方法よりも優れています。 – freespace