リストビュー(UITableView
)とグリッドビュー(UICollectionView
)を切り替えることができるボタンがあるプロジェクトがありますが、その方法はわかりません。UITableViewとUICollectionViewを切り替える方法
答えて
コントローラーがtableView
という名前のプロパティーとcollectionView
という名前のUICollectionView
プロパティーを持っているとします。 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];
}
のは、それがテーブルビューだとしましょう
ありがとう!しかし、どのViewControllerを使うことができますか? TableViewControllerまたはCollectionViewControllerです。 TableViewDelegateとDatasourceをOutsiteクラス(ViewControllerではなく)で使用するにはどうすればいいですか? –
通常のUIViewControllerを使用し、両方のタイプのビューをプロパティとして追加します。また、2つのビューのロジックを別々に保つ場合は、UITableViewControllerとUICollectionViewControllerを作成し、メインコントローラのプロパティの代わりにそのビューを使用することもできます。 – Simon
あなたのビューがビュー階層の一部である場合(例えばxib/storyboardを追加するなど)、 '+ transitionFromView:ToView:duration:options:completion:'メソッドのオプションパラメータの1つとして 'UIViewAnimationOptionShowHideTransitionViews'を渡す必要があります。 – MrBr
これに対処するもう1つの方法は、を1つ持ち、希望するモードに応じてUICollectionViewFlowLayout
の実装を切り替えることができます。
UITableView
をUICollectionView
に変換するには、オンラインで多くのチュートリアルがあります(例:this)。
- 1. iframeへの切り替え方法/切り替え方法
- 2. スレッドを切り替える方法
- 3. メニューバーを切り替える方法
- 4. Sqlテーブルを切り替える方法
- 5. ビューを切り替える方法
- 6. uitableviewがポピュレートされている配列を切り替える方法
- 7. モード切り替えとコマンドを切り離す方法
- 8. UISegmentedControlを使用してMKMapViewとUITableViewに切り替えます。
- 9. 切り替える方法UI-SREF
- 10. iOS 5 UITableViewのシーケンスの変更 - viewForHeaderInSectionとheightForHeaderInSectionの切り替え
- 11. UITableViewの画像切り替えを変更する
- 12. jQueryクラスの切り替えとクッキーの値の切り替え?
- 13. ボタンの切り替え方法
- 14. Three.js - VR /ステレオエフェクトモードの切り替え方法
- 15. ステータスの切り替え方法TRANSLUCENT?
- 16. フラグメント間の切り替え方法
- 17. ラジオボタンの切り替え方法
- 18. オブジェクトの種類を切り替えるJavaの代替方法
- 19. JQでチェックボックスとラジオボタンをオン/オフに切り替える方法
- 20. caffeでGPUモードとCPUモードを切り替える方法は?
- 21. モバイルオートメーションでLTEとWifiを切り替える方法
- 22. javascript window.locationプロパティとリダイレクトのパス名を切り替える方法
- 23. PhpStorm:OSXでタブとツールウィンドウを切り替える方法は?
- 24. ARとVRをシームレスに切り替える方法は?
- 25. asp.netでHttpとHttpsを切り替える方法
- 26. AndroidスタジオでlldbとGDBを切り替える方法
- 27. Angularjsでsidenavとコンテンツを切り替える方法
- 28. rich:dataScroller 10秒ごとにページを切り替える方法は?
- 29. Xcode 4で.hと.mを切り替える方法
- 30. EFで開発とライブデータベースを切り替える方法は?
英語はそれほど貧弱ではありませんが、現時点では問題になりません。あなたはどんなに正確に何をしていますか?これまでに何をしようとしましたか? –
申し訳ありませんが、私は初心者です! –