簡體   English   中英

如何在UITableViewCell中將UIImageView水平居中?

[英]How do I horizontally center a UIImageView in a UITableViewCell?

我在自定義UITableViewCell內部水平放置200x200圖像時遇到麻煩。 我已經將UITableViewDelegatetableViewheightForRowAtIndexPath設置為適當的值,但這不會使我的圖像水平居中,而只會在垂直方向上居中(比我想的要好得多)。 我也試圖改變的價值imageView.framelayoutSubviews在我的自定義單元格,但是這似乎並沒有產生任何影響。 我什至已經注釋掉它,將其放置在[super layoutSubviews];之前[super layoutSubviews]; ,使用框架的值進行測試,但結果卻保持不變。

誰能幫我這個? 我應該編寫什么代碼才能達到這種效果? 謝謝。

您將嘗試使用此代碼對其有所幫助

您需要子類化UITableViewCell並重寫layoutSubviews,如下所示:

- (void) layoutSubviews
{   
    [super layoutSubviews];

    self.imageView.frame = CGRectMake( 10, 10, 50, 50 ); // your positioning here
}

在您的cellForRowAtIndexPath:方法中,確保返回新單元格類型的實例。

    UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

 UIImageView *imgView; 
 if(cell == nil)
 {
    cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];

   imgView = [[UIImageView alloc] initWithFrame:(100,0,100,62)];
    [imgView setImage:[UIImage imageNamed:@"img.png"]];
    imgView.tag = 55;
    [cell.contentView addSubview:imgView];
    [imgView release];
 } 
 else
 {
        imgView = (id)[cell.contentView viewWithTag:55];
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM