我无法在定制的UITableViewCell
内水平居中200x200图像。我已将tableViewheightForRowAtIndexPath
中的UITableViewDelegate
设置为适当的值,但这并不会使我的图像水平居中,而是仅垂直放置(比我想的更好)。我还尝试在我的自定义单元格中更改imageView.frame
中layoutSubviews
的值,但这似乎没有任何效果。我甚至评论过它,把它放在[super layoutSubviews];
之前,用框架的值来玩,但我一直得到相同的结果。
任何人都可以帮我吗?我应该编写什么代码来实现这样的效果? 感谢。
答案 0 :(得分:1)
您将尝试使用此代码帮助您
You need to subclass UITableViewCell and override layoutSubviews, as follows:
- (void) layoutSubviews
{
[super layoutSubviews];
self.imageView.frame = CGRectMake( 10, 10, 50, 50 ); // your positioning here
}
In your cellForRowAtIndexPath: method, be sure to return an instance of your new cell type.
答案 1 :(得分:0)
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];
}