Я сделал будильник, как будильник по умолчанию на iphone/ipod. Но я не знаю, как создать анимацию UItableviewcell при редактировании, как родное приложение часов iOS. Пожалуйста, помогите мне. Благодарность
Анимация такая.
Я сделал будильник, как будильник по умолчанию на iphone/ipod. Но я не знаю, как создать анимацию UItableviewcell при редактировании, как родное приложение часов iOS. Пожалуйста, помогите мне. Благодарность
Анимация такая.
[tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationFade];
где UITableViewRowAnimation может быть одним из следующих:
typedef enum {
UITableViewRowAnimationFade,
UITableViewRowAnimationRight,
UITableViewRowAnimationLeft,
UITableViewRowAnimationTop,
UITableViewRowAnimationBottom,
UITableViewRowAnimationNone,
UITableViewRowAnimationMiddle,
UITableViewRowAnimationAutomatic = 100
} UITableViewRowAnimation;
Я вижу, что происходит то, что элемент управления скрывается.
Оба класса UITableView и UITableViewCell имеют свойство, называемое:
editing
а также метод под названием:
- (void) setEditing : (BOOL) editing animated : (BOOL) animated;
Оба они могут использоваться для перевода UITableView/UITableViewCell в режим «редактирования». Свойство можно использовать для создания UITableView/UITableViewCell и установки его в режим «редактирования» перед добавлением в иерархию представлений.
Однако этот метод, хотя он также может использоваться для достижения того же самого программно, также может использоваться для переопределения/улучшения поведения «редактирования» UITableView/UITableViewCell. В этом случае он может использоваться UITableViewCell для уведомления собственным UITableView, частью которого является UITableViewCell, о том, что UITableView был установлен в режим «Редактирование»:
- (void) setEditing : (BOOL) editing animated : (BOOL) animated
{ // setEditing:animated: ()
mySwitchView = [[self contentView] viewWithTag : 100];
CGFloat alphaValue = editing ? 0.0f : 1.0f;
[UIView animateWithDuration : 3.0f
animations : ^(void)
{
[mySlideView setAlpha : alphaValue];
}
} // setEditing:animated: ()
Следовательно, если бы это был один из типов UTableViewCell, предоставляемых Apple. Чтобы какой-либо контроль над нами был частью UITableViewCell, его необходимо добавить в представление содержимого UITableViewCell в методе UITableView, предоставляемом UITableViewDataSource:
- (UITableViewCell*) tableView : (UITableView*) cellForRowAtIndexPath : (NSIndexPath*) indexPath
{ // tableView:cellForRowAtIndexPath: ()
static cellIdentifier = @"cell-identifier";
UISwitchView* switchView = nil;
UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier : cellIdentifier];
if (cell == nil)
{ // if ()
switchView = [[UISwitchView alloc] initWithFrame : CGRectZero];
cell = [[[UITableViewCell alloc] initWithStyle : UITableViewCellStyleDefault
reuseIdentifier : cellIdentifier] autorelease];
[switchView setTag : 100];
[[cell contentView] addSubview : switchView];
[switchView release];
switchView = nil;
} // if ()
return (cell);
} // tableView:cellForRowAtIndexPath: ()
Я надеюсь, что это отвечает на ваш вопрос.
Ваше здоровье.