UPDATE:
Благодаря информации от "Evgeny S" я смог определить, что скрытая кнопка удаления - это фон ячейки. У меня была следующая функция, вызываемая в начале инициализации ячейки:
- (void) setupGradientsWithHeight:(int) the_height
{
CAGradientLayer* gradient = [CAGradientLayer layer];
gradient.frame = CGRectMake(self.bounds.origin.x,
self.bounds.origin.y,
self.bounds.size.width,
the_height);
gradient.colors = [NSArray arrayWithObjects:
(id)[UIColor colorWithRed:218.0f/255.0f
green:218.0f/255.0f
blue:220.0f/255.0f
alpha:1.0].CGColor,
(id)[UIColor colorWithRed:180.0f/255.0f
green:180.0f/255.0f
blue:184.0f/255.0f
alpha:1.0].CGColor,nil];
UIView* bgview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 1, 1)];
[bgview.layer addSublayer:gradient];
[self setBackgroundView:bgview];
}
Проблема решается НЕ добавляя backgroundview. Тем не менее, мне интересно, как это можно решить, сохранив фон градиента для каждой ячейки?
Одна из двух вещей может произойти. Когда появляется кнопка удаления, фоновый вид сдвигается, а затем обратно - или уменьшается его размер, а затем обратно. Я попытался испортить компонент ширины "self.bounds.size.width" для кадра градиента, но я до сих пор не вижу, как это может повлиять на вещи, потому что эта функция вызывается только один раз при инициализации ячейки.
ОРИГИНАЛЬНАЯ ПОЧТА:
Я создал приложение в Xcode4 под iOS6 SDK, но после загрузки вещей в новую среду (Xcode5 и iOS7 SDK) у меня возникла проблема. Обратите внимание, что я разрешил все ошибки сборки и предупреждения, которые возникли при выполнении перехода.
У меня есть табличное представление с некоторыми ячейками. После входа в режим редактирования, если щелкнуть красную кнопку переключения, чтобы инициировать режим удаления для ячейки - начинается анимация, и появляется кнопка "Удалить", но только кратковременно и затем внезапно скрывается.
Еще одна странная вещь, которую я должен отметить, это то, что даже когда кнопка удаления закрыта - вы все равно можете щелкнуть там, где она должна быть, и удалить ячейку.
Я попытался извлечь как можно больше моего "настраиваемого кода", я удалил функции, которые я переопределил, и попытался вернуть данные в исходное состояние, насколько это возможно, но безрезультатно.
В какой-то момент я увидел странное сообщение в журнале вывода: "попытка установить салфетки, чтобы удалить ячейку, когда у нас уже есть..., которая не кажется хорошей". По какой-то причине сообщение продолжает появляться, и я не могу вспомнить, что я делал в то время.
Любые мысли или рекомендации о том, что может быть причиной этого?