2016-12-15 2 views
0

アニメーションに問題があります。ここにいくつかのコードがあります:「UIView animateWithDuration:......」の使用に問題があります

//wobbling cells in collection view controller 
if (_isEdit){ 
    myCell.transform = CGAffineTransformMakeRotation(-0.01); 

    [UIView animateWithDuration:0.12 
          delay:0.0 
         options:UIViewAnimationOptionRepeat|UIViewAnimationOptionAutoreverse|UIViewAnimationOptionAllowUserInteraction|UIViewAnimationOptionCurveLinear 
        animations:^{ 
         myCell.transform = CGAffineTransformMakeRotation(0.01); 
        } completion:nil]; 
} 

私がしたいのは、 "_isEdit == YES;"細胞はぐらついている。

しかし、セルがウォブリングしているときに別のViewControllerを押すと、 が閉じられます。アニメーションの停止(「_isEdit」はまだ「YES」です)...

アニメーションはどのように機能させますか?

+0

'self.isEdit'を使って試してみてください。 – PiyushRathi

答えて

0

私が質問を正しく理解していれば、viewDidAppearで再びメソッドを呼び出すことができ、再度開始する必要があります。

- (void)viewDidAppear:(BOOL)animated; 

コードからの場合:

- (UITableViewCell *)tableView:(UITableView *)tableView 
    cellForRowAtIndexPath:(NSIndexPath *)indexPath; 

その後、あなただけのviewDidAppear方法でのtableViewにreloadDataを呼び出すことによってのtableViewをリロードしてみてください。 _isEditがまだYESの場合、アニメーションは再びトリガーされます。

+0

Thx〜それは動作しますが、滑らかさが欠けているようです... – kung

+0

viewWillAppearのように、ビューコントローラライフサイクルのさまざまな部分から呼び出すことができます。これがあなたに合っていない場合は、構造を再考する必要があるかもしれません(もしうまくいくなら、これは答えとしてマークする必要があります)。 –

関連する問題