0

セルの下部に向かって多少整列したアクセサリを使用して、カスタム セルを作成しました。セルのaccessoryViewとしてUIImageViewを使用しました。

私の問題は次のとおりです。セルを選択するとすぐに、デフォルトの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:がありますが、アクセサリが必要に応じて配置されていません。

4

0 に答える 0