Я создал пользовательскую ячейку с аксессуаром, который немного выровнен по нижней части ячейки. Я использовал UIImageView в качестве accessoryView для ячейки.
Моя проблема заключается в следующем: как только я выбираю ячейку, отображается аксессуар ViewView по умолчанию, и он выравнивается по центру (конфигурация по умолчанию).
В моем пользовательском методе 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:
вызывается при выборе, аксессуар не размещен как требуется.