1

UIImageViewをUITableViewCellに配置しようとしています。

ProductViewという特別なビューを作成します。そのビューには、いくつかのコンポーネントがあり、そのうちの1つはUIImageViewです。このProductViewをUITableViewCellのコンテンツビューとして設定しました。UIImageViewを除いて、すべてが適切に描画されます。UIImageViewは無意味にスケーリングされます。高さは、テーブルのセルサイズの2倍になります。

私はこの問題を解決するために何時間も費やしてきました。UIImageViewのフレームを手動で設定し、UIImageViewでUIImageのdrawRectメソッドを呼び出しましたが、どちらも機能しませんでした。

解決策が見つからない場合は、UITableViewをUIScrollViewに置き換えることを考えています。誰かがこの問題を解決する方法を知っていますか?

4

2 に答える 2

0

カスタムセルを使用して、すべてのUIコンポーネント(UIImageViewを含む)をそのセル内に配置し、cellForRowAtIndexPathメソッドで次のように画像を設定します。

[cell.imgView setContentMode:UIViewContentModeScaleAspectFit];
[cell.imgView setFrame:CGRectMake(cell.imgView.frame.origin.x, cell.imgView.frame.origin.y, 120, 79)];      
[cell.imgView setImage:[UIImage imageNamed:@"image.png"]];          

また、カスタムセルの使用方法を知る必要がある場合は、次のチュートリアルに従ってください。

iPhoneプログラミングチュートリアル:パート6:InterfaceBuilderを使用したカスタムUITableViewCellの作成[UITableView]

これがお役に立てば幸いです...

于 2010-06-17T12:48:31.770 に答える
0

私は同じ問題を抱えていて、最終的に問題は自動サイズ変更とは関係がないことに気付きました。タグの衝突により、UIImageViewではなく、その親ビュー(テーブルセル)が取得されただけでした。値(呼び出しを通じてビューを取得していて、タグゼロUIImageView *pictureView = (UIImageView *)[cell viewWithTag:0];もセルに設定されていました)。タグの値を変更するだけで修正できます。

于 2011-02-25T16:02:36.573 に答える