UITableView
ユーザーがリストビュー( )とグリッドビュー()を切り替えることができるボタンのあるプロジェクトがありますが、そのUICollectionView
方法がわかりません。
質問する
9496 次
2 に答える
19
コントローラにUITableView
という名前tableView
のUICollectionView
プロパティとという名前のプロパティがあるとしますcollectionView
。viewDidLoad
で、開始ビューを追加する必要があります。テーブルビューだとしましょう。
- (void)viewDidLoad
{
self.tableView.frame = self.view.bounds;
[self.view addSubview:self.tableView];
}
次に、ボタンのコールバックで、ビューを入れ替えます。
- (void)buttonTapped:(id)sender
{
UIView *fromView, *toView;
if (self.tableView.superview == self.view)
{
fromView = self.tableView;
toView = self.collectionView;
}
else
{
fromView = self.collectionView;
toView = self.tableView;
}
[fromView removeFromSuperview];
toView.frame = self.view.bounds;
[self.view addSubview:toView];
}
派手なアニメーションが必要な場合は、+[UIView transitionFromView:toView:duration:options:completion:]
代わりに次を使用できます。
- (void)buttonTapped:(id)sender
{
UIView *fromView, *toView;
if (self.tableView.superview == self.view)
{
fromView = self.tableView;
toView = self.collectionView;
}
else
{
fromView = self.collectionView;
toView = self.tableView;
}
toView.frame = self.view.bounds;
[UIView transitionFromView:fromView
toView:toView
duration:0.25
options:UIViewAnimationTransitionFlipFromRight
completion:nil];
}
于 2013-01-03T13:10:04.823 に答える
2
これに対処する別の方法は、必要なモードに応じて実装UICollectionView
を切り替えることができるシングルを用意することです。UICollectionViewFlowLayout
UITableView
からに変換するためにUICollectionView
、オンラインで多くのチュートリアルがあります。たとえば、これです。
于 2017-02-14T12:37:27.173 に答える