我有一個按鈕,允許用戶在列表視圖(UITableView
)和網格視圖(UICollectionView
)之間切換,但我不知道該怎麼做。如何切換UITableView和UICollectionView
回答
假設您的控制器具有名爲tableView
的UITableView
屬性和名稱爲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。我如何在外部類(不是ViewController)中使用TableViewDelegate和Datasource? –
只需使用普通的UIViewController,然後將兩種類型的視圖添加爲屬性即可。或者,如果您希望將兩個視圖的邏輯分開,則可以創建UITableViewController和UICollectionViewController,並使用它們的視圖而不是主控制器的屬性。 – Simon
如果您的視圖已經是視圖層次結構的一部分(例如通過添加xib/storyboard),您必須在'+ transitionFromView:ToView:duration:options:completion:'方法中傳遞'UIViewAnimationOptionShowHideTransitionViews'作爲選項參數之一。 – MrBr
解決這個問題的另一種方法是使用單個UICollectionView
,您可以在其中根據所需模式切換UICollectionViewFlowLayout
實施。
爲了轉換從UITableView
到UICollectionView
,也有很多的教程在網上,例如this。
- 1. iOS用戶界面 - 在一個屏幕中切換UICollectionView和UITableView
- 2. UICollectionView和UITableView的上的UINavigationController
- 3. UITableView和UICollectionView交互ios?
- 4. 切換列表視圖(UITableView中)和網格視圖(UICollectionView)上的UIBarButtonItem
- 5. UITableView到UICollectionView
- 6. 將複雜的UITableView轉換爲UICollectionView
- 7. 使用UISegmentedControl切換到MKMapView和UITableView
- 8. 如何在同一UIViewController中通過UICollectionView替換UITableView?
- 9. 如何在Selenium中切換和切換
- 10. UITableView裏面的UICollectionView
- 11. 切換UITableView中的UITableViewCell didSelectRowAtIndexPath
- 12. UITableView和UICollectionView預取矩形尺寸
- 13. 使用UICollectionView切換單元格
- 14. 如何切換addClass和removeClass?
- 15. UITableView over UICollectionView觸摸處理
- 16. 在UIScrollView中嵌入UITableView/UICollectionView
- 17. 使UICollectionView看起來像UITableView
- 18. 切分和索引uitableview
- 19. UITableView上的UIWebView - 如何在它們之間切換?
- 20. 如何以編程方式切換UITableView的NSFetchedResultsController(或其謂詞)?
- 21. 如何切換UITableView單元格選擇狀態
- 22. 如何切換
- 23. 切換視圖時UITableView變慢
- 24. 切換到iOS後UITableView不滾動7
- 25. iPhone:兩個UItableView;分段控制切換
- 26. 切換到的UITableView上的按鈕
- 27. 在UITableView中切換UITextField單元格
- 28. 如何在javascript和css中切換到「隱藏」時切換
- 29. 如何切換顯示:內聯和顯示切換?
- 30. 如何將切換添加到切換?
這不是很差的英語,但它目前是一個很差的問題。你堅持什麼_exactly_?到目前爲止你想做什麼? –
我很抱歉@但我是新手! –