0

一種のエキスパンダー (.net のような) アニメーションを作成したいと思います。配列で満たされた UITableView があります。行に触れると、行セルの下に展開されるUIView(またはSubViewだと思います)を表示したいと思います。

これを達成することは可能ですか?ほとんどのアニメーション UIView setAnimation Transition を見てきましたが、どれも私のニーズに合いませんでした。

ご協力いただきありがとうございます!

ところで、Mac os x 10.7.4 で Xcode 4.3.3 を実行しています。今のところ対象機種はiPhone 5.1

4

1 に答える 1

2

.net エキスパンダーは見たことがありませんが、UITableViews でこの効果を実現できます。展開したいビューを別のセクションのセルに入れることができます (セクション B と呼びましょう)。numberOfRowsInSection:次に、セクション B に 0 を返すように設定して、セルを非表示にします。

ビューを表示する場合は、numberOfRowsInSection:セクション B に 1 を返すようにフラグまたはブール値を設定してから、呼び出しreloadSections:withRowAnimation:てセクション B をリロードします。行アニメーションを に設定UITableViewRowAnimationTopすると、エキスパンダー効果が得られることに注意してください。

編集:

セクション内のセルを非表示にするには、次のようにします。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    if (section == 2) {//assume 2 is section B

        if (showExpandedView)  //ShowExpandedView is a BOOL you would use to 
            return 1;          //to trigger the expanded view.
        else
            return 0;
    }      
    ...
}

お役に立てれば

于 2012-07-13T16:25:55.073 に答える