4

カスタムビューを含むコンテンツビューを備えたuitableviewcellがあります。テーブルビューが編集モードに入ると、コンテンツビューの画像が水平方向に縮小されるため、コンテンツビューのサイズが変更されます(狭くなります)。

誰かがこれを防ぐ方法を知っていますか?

セルのインデントをnoneに設定しました。

ありがとう

4

4 に答える 4

2

に設定shouldIndentWhileEditingしてみましたかNO

プロパティを見てください:

http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewCell_Class/Reference/Reference.html

于 2012-06-12T22:05:19.070 に答える
1

ビューに自動サイズ変更マスクを設定しようとしましたか?

theView.autoresizingMask = UIViewAutoresizingNone;

コンテンツ ビューや画像ビューで設定する必要がある場合があります。ビュー階層がどのように構成されているかは正確にはわかりません。ただし、フレームはフレームワークによって (自動サイズ変更ではなく) 明示的に設定される場合があり、その場合は機能しません。

テーブル セル全体の背景画像を作成しようとしている場合はbackgroundColor、セルの を次のように設定する別の方法を試すこともできます。

UIImage* someImage = [UIImage imageNamed:@"someImage"];
cell.backgroundColor = [UIColor colorWithPatternImage:someImage];

backgroundColor内部に配置する他のすべてのビューは[UIColor clearColor]、背景画像が透けて見えるようにすることを忘れないでください。

于 2012-06-12T22:03:02.643 に答える
0

インデックスパスを使用して、いつでもテーブルビューセルを取得できます。その tableviewcell 再利用識別子を使用すると、tableview セルのコンテンツ サイズが変更されるかどうかを回避できます。個別のセルのサイズ変更を避けるために、同様の種類の機能を実装する必要がありました。コードを PFB します。

-(BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath{

BOOL shouldIndentWhileEditingRow = NO;

UITableViewCell *lTableViewCell = [tableView cellForRowAtIndexPath:indexPath];

/*Change the position of the target rect based on Sending messages or Receiving messages*/
if ([lTableViewCell.reuseIdentifier isEqualToString:@"SendingChatCellIdentifier"]) {

    shouldIndentWhileEditingRow = NO;

}else if ([lTableViewCell.reuseIdentifier isEqualToString:@"ReceivingChatCellIdentifier"]){

    shouldIndentWhileEditingRow = YES;
}

return shouldIndentWhileEditingRow;
}
于 2015-11-26T15:00:59.333 に答える