2016-03-31 14 views
0

UITableViewのフッターをアニメーション化しようとしています。アニメーションなしUITableViewのフッターをアニメーション化する方法

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section { 
CustomView *footer = [[CustomView alloc]initWithFrame:CGRectZero 
              labelText:@"I am a label in a footer"]; 
footer.label.alpha = 0.0f; 
[UIView animateWithDuration:5.0f 
         delay:0.0f 
        options:UIViewAnimationOptionCurveLinear 
       animations:^{ 
        footer.label.alpha = 1.0f; 
       } 
       completion:nil]; 

return footer; 
} 

しかし、フッターが表示されます。 私は、次のコードを試してみました。 UITableViewのフッターをアニメーション化する正しい方法は何ですか?私はそれは可能だと信じていますが、それに対する答えを見つけることはできません。

答えて

2

代わりにtableView:willDisplayFooterView:forSection:メソッドでアニメーションを試してみてください。使用しているメソッドでは、ビューはビュー階層にまだ挿入されていないため、アニメーションは実際には何もしません(ビューに挿入することで取り消される可能性があります)。 -willDisplay *バリアントは実際に表示可能なUIプロパティを設定する場所です。その時点でビュー階層にある必要があります。そのため、後で設定を上書きしないようにUIAppearance値が設定されている必要があります。

cellForRowAtIndexPath:メソッド(またはこの場合はviewForFooter)でプロパティを設定することができますが、必ずしもそうではありません。

+0

ありがとうございます。私はあなたの答えから学んだ。 – Herbert

関連する問題