2015-01-12 3 views
0

Я хотел бы иметь слайд в нижней анимации в моем UITableview, когда появляется представление. Так внутри viewDidAppear Methode я создал следующую анимациюUIButton внутри UITableViewCell слайды со стороны при анимации UITableView

[UIView animateWithDuration:10.0f  // for testing purposes big value 
          delay:0.0f 
     usingSpringWithDamping:0.7f // 0...1 
      initialSpringVelocity:0.0f 
         options:UIViewAnimationOptionCurveEaseOut 
        animations:^{ 

         [tv_team setAlpha:1.0f]; 
         tv_teamsVerticalConstraint.constant = 0; 

         [self.view layoutIfNeeded]; 
        } 
        completion:^(BOOL finished) { 

        } 
    ]; 

, который работает прекрасно для самого UITableView, однако я динамически добавлять ярлыки и кнопки для каждого UITableViewCell, как так

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
static NSString *cellIdentifier = @"teamCell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 

    //if (cell == nil) { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; 
    //} 

    [cell.contentView setBackgroundColor:[[ColorSchema sharedColorSchema] color_background]]; 
    [cell setSelectionStyle:UITableViewCellSelectionStyleNone]; 

    UIView *vw_centered = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 480, 70)]; 
    vw_centered.autoresizingMask = (
            UIViewAutoresizingFlexibleTopMargin | 
            UIViewAutoresizingFlexibleBottomMargin | 
            UIViewAutoresizingFlexibleLeftMargin | 
            UIViewAutoresizingFlexibleRightMargin 
            ); 
    [vw_centered setBackgroundColor:[[ColorSchema sharedColorSchema] color_darkerbackground]]; 
    [vw_centered.layer setCornerRadius:5.0f]; 
    [vw_centered setTag:1]; 

    //... more Labels 

// Button to change the teamMembers 
    UIButton *btn_setPlayers = [UIButton buttonWithType:UIButtonTypeCustom]; 
    btn_setPlayers.frame = CGRectMake(340.0, 39.0, 120.0, 19.0); 
    [btn_setPlayers setBackgroundColor:[[ColorSchema sharedColorSchema] color_darkgray]]; 
    [btn_setPlayers setTag:indexPath.row]; 
    [btn_setPlayers.titleLabel setFont:[UIFont fontWithName:@"HelveticaNeue-Light" size:9.0]]; 
    [btn_setPlayers setTitleColor:[[ColorSchema sharedColorSchema] color_orangeSolid] forState:UIControlStateNormal]; 
    [btn_setPlayers setTitle:@"Change Team Members" forState:UIControlStateNormal]; 
    [btn_setPlayers addTarget:self action:@selector(changeTeamMembers:) forControlEvents:UIControlEventTouchUpInside]; 
    [btn_setPlayers.layer setCornerRadius:5.0f]; 
    [vw_centered addSubview:btn_setPlayers]; 

    [cell.contentView addSubview:vw_centered]; 

    return cell; 
} 

Проблема в том, что созданная кнопка слайдов слева, пока не достигнет места кадра на второй, третьей, ... ячейке (не первой - возможно, потому что это ячейка прототипа)

Как остановить эту анимацию?

enter image description here

-им работает Xcode 6 ИОС 8.1

+0

Hi. Я сделал простой проект с вашим кодом и не видел его. Это может быть что-то с начальным размером ячейки. Я рекомендую вам создать пользовательскую ячейку с наконечником со всеми внутренними видами и использовать автозапуск. Он намного чище и предотвращает ошибки, кроме того, вы можете устанавливать свойства, такие как цвет и стиль, только в режиме «awakeFromNib». дайте ему попробовать ... – oren

ответ

0

Вы можете избежать нежелательных анимации, обернув изменения в performWithoutAnimation:

[UIView performWithoutAnimation:^{ 
    // changes 
}]; 

Так попытайтесь установить рамку вашей кнопки в одном из них.

+0

, если я оберну их настройки кадра, сама кнопка установлена ​​в правильном положении, но теперь название анимируется (увеличьте из центра), если я также поместил в него значение набора настроек в эту обертку изменения, все еще увеличивающиеся от центра – Markus

+0

Хммм. Не уверен, что происходит, но я попробую '[btn_setPlayers layoutIfNeeded] после установки рамки кнопки. –

+0

Я согласен с комментатором, который предложил настроить ячейку в Interface Builder и Auto Layout. –

Смежные вопросы