0

があり、の上に透明な を前景UITableViewに配置したいと考えています。UIImageViewUITableView

UIImageView問題は、上記を追加すると、の下にUITableViewあるためスクロールできないことです。UITableViewUIImageView

UIImageViewを上に持っUITableViewていて、スクロールできるようにする方法はありUITableViewますか?

4

6 に答える 6

0

あなたが望むものを達成するためには、あなたの画像ビューを通してタッチを「渡す」必要があります。これを行う 1 つの方法は、 をサブクラス化し、 のメソッドをUIImageView実装することです。そのメソッドから戻った場合、またはそのメソッドから戻った場合、カスタムはすべてのタッチをその下のサブビューに渡します。幸運を!- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event{}UIViewNOFALSEUIImageView

于 2013-06-28T12:06:14.550 に答える
0

今、私はあなたの質問に従います。以下を使用して imageView のタッチを無効にし、その下の scrollView (tableView) がタッチを受け入れられるようにします。

_imageView.userIneractionEnabled = NO; 
于 2013-06-28T11:12:26.597 に答える
0

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];
}

イメージビューのフレームはコンテナー コントローラーに挿入される可能性があるため、注意してください。その場合、サイズを調整する必要があります。

于 2013-08-14T08:27:02.587 に答える
0

ここで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 をいくつかのグラフィックスで使用できます。下部には、最初のセルをミラー化したものを表示できます。実用的にグラフィックスを備えたテーブル。

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

于 2013-06-28T15:03:18.460 に答える