У меня есть пользовательский UITableViewCell
в моем приложении для iPhone, для которого у меня есть пользовательский метод setSelected:animated
. Мое приложение отлично работает на iPhone, однако я начал портировать свое приложение на iPad. Я скопировал точно такую же раскадровку, ничего не менял, но теперь мой метод setSelected:animated
вызывается дважды (с теми же параметрами), когда я выбираю свою ячейку. Я мог бы «обработать» этот случай, проверив, есть ли iPad и т. Д., Но это было бы плохой практикой. Что может быть причиной того, что он вызывается один раз на iPhone и дважды на iPad? (оба iOS 7.0.3) Свойства табличного представления точно такие же (я скопировал файл раскадровки iPhone).
Вот соответствующий код:
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
isSelected = selected;
[self setNeedsDisplay];
if(selected){
SocialMatchAppDelegate *del = (SocialMatchAppDelegate*)[UIApplication sharedApplication].delegate;
del.selectedUser = self.user;
[del.resultViewController performSegueWithIdentifier:@"viewProfile" sender:self];
}
}
setSelected:animated
- person Can Poyrazoğlu   schedule 09.01.2014setSelected:animated
вызывается дважды, так как это может создать путаницу в будущем, а setNeedsDisplay может стать дорогостоящим в вычислительном отношении для больших Просмотры. не очень важно, но зачем называть это дважды? - person Can Poyrazoğlu   schedule 14.01.2014