2011-07-25 44 views
2

我使用下面的代碼在表中設置了imageView的框架。iPhone:如何在表格中設置ImageView的框架?

cell.imageView.image = [UIImage imageWithContentsOfFile:[[users objectAtIndex:indexPath.row] valueForKey:@"ImagePath"]]; 
    [cell.imageView setFrame:CGRectMake(5, 5, 10, 10)]; 

但是圖像從單元的角落顯示。

它不改變位置或大小。

我該怎麼辦?

回答

9

你將不能夠改變細胞ImageView的框架。你最好的選擇是創建一個自定義單元格。

+0

子類layoutSubviews也是一種選擇。 「最佳選擇」取決於上下文。如果移動imageView是唯一需要的更改,子類化可能會更容易。但是當你開始自定義表格視圖單元格時,創建自定義單元格在某些時候可能會更好。 – FKDev

+0

謝謝!這是有用的。 – Raja

1

可以創建自定義表視圖細胞,在那裏你想他們是元素的位置。 它也很有幫助,因爲您可以控制自己想要的界面與需求的相似程度。

可以在interface buildercode做到這一點。還有大量的例子,因爲這是iPhone應用程序開發中最常見的方法(擁有自定義表格視圖單元格),並且您可以使用代表來填充表格視圖,並且它像魅力一樣起作用。

3

可以通過創建的UITableViewCell的子類並重寫layoutSubviews方法改變小區的幀。

在layoutSubviews的子類實現中,首先調用super的實現,然後修改imageView的框架。

+0

另請參閱:http://stackoverflow.com/questions/4208786/positioning-the-imageview-of-a-uitableviewcell。 – FKDev

3

可以作爲一個子視圖添加所需的ImageView到小區

UIImageView *imageView = [[UIImageView alloc] init]; 
imageView.image = [UIImage imageWithContentsOfFile:[[users objectAtIndex:indexPath.row] valueForKey:@"ImagePath"]]; 
[imageView setFrame:CGRectMake(5, 5, 10, 10)]; 
[cell addSubview:imageView]; 
+2

儘管這可能有效,但會覆蓋單元格文本上的圖像。 – WrightsCS

+0

您可以將自己的UILabel添加到單元格,從而爲您提供自定義文本的優勢。 – Mona

相關問題