カスタム UIView を作成する最良の方法は何ですか? だから私は3つの画像(トップ、ミッド、ボット)を取得し、ボタンの内側に画像が必要です(サイズを変更できる必要があります(高さのみ)
UIViewでこれを作成して、その中に画像を入れてビューのサイズを変更するにはどうすればよいですか? (これをUITablecellに入れたい)
カスタム UITableView 描画については、次の 2 つのリンクを試してください。
cocoawithlove.com/2009/04/easy-custom-uitableview-drawing.html
その中で、各セルの高さを個別に設定できるはずです。そこにない場合は、UITableViewDelegate メソッドをオーバーライドします
tableView:heightForRowAtIndexPath:
iOS 5 を使用している場合は、 UIImageresizableImageWithCapInsets:
のメソッドを参照してください。
これにより、画像のどの部分のサイズを変更し、どの部分を自動的にスケーリングするかを指定できます。これは、あなたの場合のように背景画像を再利用するのに理想的です。
したがって、青色の背景でサイズ変更可能な画像を作成し、画像に合わせてサイズ変更するエッジからのオフセットを指定します。画像をスライスまたはチョップする必要はありません。1 つの画像全体として提供するだけで、スケーリングは自動的に行われ、キャップ インセットを正しく指定すると、丸みを帯びた角はそのまま残ります。
// Change the edge insets to match your image...
UIImage *backgroundImage = [[UIImage imageNamed:@"button_background"]
resizableImageWithCapInsets:UIEdgeInsetsMake(10, 10, 10, 10)];
// Create an image view to hold the new image
UIImageView *myBackgroundImageView = [[UIImageView alloc] initWithImage:backgroundImage];
// [...] here make sure to size your image view to match the size of your parent view
// Add the background image view to the view
[self addSubview:myBackgroundImageView];
その後、カスタム テーブルビュー セルに同様の手法を自由に使用できます。ただし、ここでのアイデアは、背景画像を動的にスケーリングするために、エッジ インセットを含むサイズ変更可能な画像を使用することです。
これは、エッジ インセットを説明する優れたブログ投稿です。
それが役立つことを願っています。