1

連絡先の編集をタップしたときに連絡先アプリが行うのと同じように、UIView を移行することに興味があります。参考までに、ここで[粗末な]GIFを見ることができます。すでに定義されている値は、編集する位置にスライド ダウンし、新しいフィールドがフェード インします。

UIView トランジションのドキュメントを見てきましたが、これを正確に行う方法がわかりませんでした。AUIViewAnimationOptionTransitionCrossDissolveそうではありません。各フィールドをその場所にアニメーション化してから、完全なビューにフェードインできると思いますが、それは間違った方法のようです。

4

2 に答える 2

0

UITableViewAnimationRazorSharp が上記のコメントで述べているように、Contacts.app は間違いなく のように見えます。を使用していない場合、効果は手動で行う必要がありますUITableView

于 2013-08-22T13:44:06.277 に答える
0

基本的に、連絡先アプリと同じトランジションが必要でした。2 つのセルを登録しました。1 つは表示用で、もうUILabels1 つは を含む編集用UITextFieldです。cellForRowAtIndexPath編集しているかどうかに応じて、セル識別子を切り替えると思います。私が使用するフェードアニメーションを取得するには

-(void)setEditing:(BOOL)editing animated:(BOOL)animated
{
    [super setEditing:editing animated:animated];
    [UIView transitionWithView: self.tableView
                  duration: 0.35f
                   options: UIViewAnimationOptionTransitionCrossDissolve
                animations: ^(void)
     {
         [self.tableView reloadData];
     }
                completion: nil];
}

これは以下の質問から取られました

変更時に UITableView の reloadData をアニメーション化する

これにより、微妙なフェードが得られます。私が見つけた別のオプションは、電話することでした [self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationFade];

同様の影響ですが、少しきれいではないと思いました

于 2015-06-03T22:31:58.047 に答える