次のコードでは、[cell addSubview: someLabel]
と[cell.contentView addSubview: someLabel]
を同じにしているようです。いずれかの違いがありますか? UIView
((実際のコードでカスタムセルはUIImageView
とUILabel
を追加している)、一方、contentView
を持っていないので、私たちはそのcontentView
にサブビューを追加する必要はありません。UITableViewCell
は道によってUIView
のサブクラスであります)iOSでは、サブビューをUITableViewCellオブジェクト "cell"と "cell.contentView"の間に追加するのはどうですか?
-(UITableViewCell *) tableView:(UITableView *) tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = nil;
if ([tableView isEqual:self.songsTableView]){
static NSString *TableViewCellIdentifier = @"MyCells";
cell = [tableView dequeueReusableCellWithIdentifier:TableViewCellIdentifier];
if (cell == nil){
cell = [[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:TableViewCellIdentifier];
}
// ... some code to create a UILabel (not shown here)
[cell addSubview: someLabel]; // vs using [cell.contentView addSubView: ...]
はい私は他のセルの領域に干渉しない理由がわかりました...興味深いことに、私が 'contentView'を使用しても、削除アイコンは' Delete'ボタンを持ってきてコンテンツを隠すことができます区域 –
とそれはアクセサリーの下にも表示されますが、たとえcontentViewが使われていてもコンテンツの領域を超えて何かを表示していることが原因である可能性があります。そして、コンテンツで 'x = 0'領域を編集し、 'x = -16'に変更すると、編集領域の削除アイコンの下にも表示されます。 –