选择单元格后,将替换自定义UITableViewCell accessoryView

选择单元格后,将替换自定义UITableViewCell accessoryView,uitableview,selected,accessoryview,Uitableview,Selected,Accessoryview,我已经创建了一个自定义单元格,其中有一个附件,该附件在某种程度上与单元格底部对齐。我已经使用UIImageView作为单元格的accessoryView 我的问题如下:只要我选择单元格,就会显示默认的accessoryView,并且它会朝中心对齐(默认配置) 在自定义UITableViewCell的-drawRect:方法中,我对齐了accessoryView。代码如下所示: - (void)drawRect:(CGRect)rect { /* ... some other code .

我已经创建了一个自定义单元格,其中有一个附件,该附件在某种程度上与单元格底部对齐。我已经使用UIImageView作为单元格的accessoryView

我的问题如下:只要我选择单元格,就会显示默认的accessoryView,并且它会朝中心对齐(默认配置)

在自定义UITableViewCell的
-drawRect:
方法中,我对齐了accessoryView。代码如下所示:

- (void)drawRect:(CGRect)rect
{
    /* ... some other code ... */   

   CGFloat yRow2 = 78.0f;   
   CGFloat accessoryWidth = _accessoryImage.size.width;
   CGFloat accessoryHeight = _accessoryImage.size.height;
   _accessoryImageView.frame = CGRectMake(320.0f - accessoryWidth - 8.0f, yRow2 - 8.0f - accessoryHeight / 2, accessoryWidth, accessoryHeight);

   /* ... some other code ... */
}

我认为一旦调用了
-setSelected:animated:
方法,也会调用
-drawRect:
(我试图通过调用
-setNeedsDisplay:
强制执行此操作)。尽管我看到选择时调用了
-drawRect:
,但附件并未按要求放置

你得到的图像的高度和宽度正确吗??通过打印检查。这可能会有所帮助。UIImageView的高度和宽度以及UIImage看起来都不错(我在
-drawRect:
中进行了检查)。请手动将其设置到所需的位置。制作(0,0,50,50)并检查该问题是否仍然发生?嗯。。。我想我找到了问题的根源。一旦选择一个单元,单元的帧将更改为默认值(即43像素高度)。仍然需要找出如何防止这种情况发生。行高是在UITableView委托方法
-tableView:heightForRowAtIndexPath:
中设置的。可以仅通过设置self.frame在drawRect:方法中设置单元格的高度来尝试