があり、の上に透明な を前景UITableView
に配置したいと考えています。UIImageView
UITableView
UIImageView
問題は、上記を追加すると、の下にUITableView
あるためスクロールできないことです。UITableView
UIImageView
UIImageView
を上に持っUITableView
ていて、スクロールできるようにする方法はありUITableView
ますか?
があり、の上に透明な を前景UITableView
に配置したいと考えています。UIImageView
UITableView
UIImageView
問題は、上記を追加すると、の下にUITableView
あるためスクロールできないことです。UITableView
UIImageView
UIImageView
を上に持っUITableView
ていて、スクロールできるようにする方法はありUITableView
ますか?
あなたが望むものを達成するためには、あなたの画像ビューを通してタッチを「渡す」必要があります。これを行う 1 つの方法は、 をサブクラス化し、 のメソッドをUIImageView
実装することです。そのメソッドから戻った場合、またはそのメソッドから戻った場合、カスタムはすべてのタッチをその下のサブビューに渡します。幸運を!- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event{}
UIView
NO
FALSE
UIImageView
今、私はあなたの質問に従います。以下を使用して imageView のタッチを無効にし、その下の scrollView (tableView) がタッチを受け入れられるようにします。
_imageView.userIneractionEnabled = NO;
UIImageView をコントローラの viewDidLoad: メソッドのサブビューとして UITableView に追加するだけです。コードはすべてを伝えます:
- (void)viewDidLoad
{
[super viewDidLoad];
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 20, 320, 460)];
imageView.image = [UIImage imageNamed:@"image_name"];
[self.tableview addSubview:imageView];
}
イメージビューのフレームはコンテナー コントローラーに挿入される可能性があるため、注意してください。その場合、サイズを調整する必要があります。
ここでUITableのコード
テーブルビューの下に背景画像を置きたい場合は、viewDidLoadまたはviewWillDidAppear内でこのコードを使用できます
self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"myImage.png"]];
また
// here you can setting RGB color and Alpha channel
self.tableView.backgroundColor = [UIColor colorWithRed:(255/256.0) green:(255/256.0) blue:(255/256.0) alpha:1.0];
cellForRowAtIndexPathの下でこれを使用して、単一のテーブルまたはtableViewデザインのビューを変更する場合
UIImage *background = [self cellBackgroundForRowAtIndexPath:indexPath];
UIImageView *cellBackgroundView = [[UIImageView alloc] initWithImage:background];
cellBackgroundView.image = background;
cell.backgroundView = cellBackgroundView;
UIImage セルの背景を作成します。
- (UIImage *)cellBackgroundForRowAtIndexPath:(NSIndexPath *)indexPath {
NSInteger rowCount = [self tableView:[self tableView] numberOfRowsInSection:0];
NSInteger rowIndex = indexPath.row;
UIImage *background = nil;
if (rowIndex == 0) {
background = [UIImage imageNamed:@"TopOfCell.png"];
} else if (rowIndex == rowCount - 1) {
background = [UIImage imageNamed:@"MiddleCell.png"];
} else {
background = [UIImage imageNamed:@"BottomCell.png"];
}
return background;
}
この場合、同じ IMG を 3 つのレベルすべてに配置すると、セルに固有の BG が表示され、前景に UIImage を使用して TableView を色付けする必要がなくなり、セル上で直接デザインできます。例:
TopOfCell.png は最初のセルで、高さ 10px、幅 300px、角の半径 5 の IMG を配置できます。中央には、幅 300px、高さ 1136px の img をいくつかのグラフィックスで使用できます。下部には、最初のセルをミラー化したものを表示できます。実用的にグラフィックスを備えたテーブル。
これがお役に立てば幸いです