我有一個UITableView,目前它有一個單元格。我編寫了一個自定義的TableViewCell類,它繼承自UITableViewCell以執行一些自定義繪圖。我已經將表格的寬度設置爲所需的大小,並試圖將單元格的寬度設置爲相同的大小,因此它將填滿表格的整個寬度。問題似乎是我在單元的左右兩側留有一些邊距,我不知道爲什麼。iOS UITableView意外增加邊距
Here's an example of the problem. 我使TableView背景變黑更清晰。 TableView是正確的大小。背景圖像被添加到單元格中,而不是表格,並且它應占據表格的整個寬度。
我試圖讓TableView變寬(與屏幕一樣寬)以嘗試適應背景圖像的大小,但這並不完全。我寧願找出這些利潤來自哪裏,以及如何擺脫它們。
TableView本身在Interface Builder中初始化。樣式設置爲分組,滾動禁用,視圖模式設置爲縮放至填充。
這裏的電池類的initWithStyle方法
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
// Initialization code
_primaryLabel = [[UILabel alloc] init];
_primaryLabel.textAlignment = UITextAlignmentLeft;
_primaryLabel.font = [UIFont systemFontOfSize:18];
_primaryLabel.backgroundColor = [UIColor clearColor];
_detailLabel = [[UILabel alloc] init];
_detailLabel.textAlignment = UITextAlignmentLeft;
_detailLabel.font = [UIFont systemFontOfSize:12];
_detailLabel.backgroundColor = [UIColor clearColor];
_icon = [[UIImageView alloc] init];
[self.contentView addSubview:_primaryLabel];
[self.contentView addSubview:_detailLabel];
[self.contentView addSubview:_icon];
self.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
UIImageView* whiteDisclosureView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 15, 13)];
[whiteDisclosureView setImage:[UIImage imageNamed:@"white_disclosure.png"]];
self.accessoryView = whiteDisclosureView;
UIImageView * background = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 305, 61)];
[background setImage:[UIImage imageNamed:@"button_silver.png"]];
[self setBackgroundView:background];
self.backgroundColor = [UIColor clearColor];
self.frame = self.contentView.frame = CGRectMake(0, 0, 305, 61);
}
return self;
}
這就是問題所在。隨着IB的調整,它按照我的預期工作。謝謝! – mayonaise 2012-02-22 02:22:33