カスタムビューを含むコンテンツビューを備えたuitableviewcellがあります。テーブルビューが編集モードに入ると、コンテンツビューの画像が水平方向に縮小されるため、コンテンツビューのサイズが変更されます(狭くなります)。
誰かがこれを防ぐ方法を知っていますか?
セルのインデントをnoneに設定しました。
ありがとう
カスタムビューを含むコンテンツビューを備えたuitableviewcellがあります。テーブルビューが編集モードに入ると、コンテンツビューの画像が水平方向に縮小されるため、コンテンツビューのサイズが変更されます(狭くなります)。
誰かがこれを防ぐ方法を知っていますか?
セルのインデントをnoneに設定しました。
ありがとう
に設定shouldIndentWhileEditing
してみましたかNO
プロパティを見てください:
ビューに自動サイズ変更マスクを設定しようとしましたか?
theView.autoresizingMask = UIViewAutoresizingNone;
コンテンツ ビューや画像ビューで設定する必要がある場合があります。ビュー階層がどのように構成されているかは正確にはわかりません。ただし、フレームはフレームワークによって (自動サイズ変更ではなく) 明示的に設定される場合があり、その場合は機能しません。
テーブル セル全体の背景画像を作成しようとしている場合はbackgroundColor
、セルの を次のように設定する別の方法を試すこともできます。
UIImage* someImage = [UIImage imageNamed:@"someImage"];
cell.backgroundColor = [UIColor colorWithPatternImage:someImage];
backgroundColor
内部に配置する他のすべてのビューは[UIColor clearColor]
、背景画像が透けて見えるようにすることを忘れないでください。
インデックスパスを使用して、いつでもテーブルビューセルを取得できます。その 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;
}