我的應用程序中有兩個視圖控制器,例如vc1和vc2。這兩個視圖控制器作爲scrollView的子視圖,因此用戶可以滾動屏幕切換視圖。但是,簡單的實現有一個問題:vc1和vc2的viewWillAppear方法只被調用一次。所以我想實現我的滾動容器視圖控制器,它可以正確調用viewWillAppear方法,請告訴我如何實現它。如何製作自定義滾動容器視圖控制器?
0
A
回答
1
我不知道你正在嘗試做的,但我認爲一個簡單的UITableView或UICollectionView可能會更好你是因爲他們擁有數據源方法,當視圖在屏幕上顯示時會自動調用。當你需要返回一個UITableViewCell或UICollectionViewCell時,你可以更新你的兩個視圖。
0
我不確定這是否可行,但我認爲您可以檢查vc1和vc2的框架是否在scrollView
的委託方法中使用了屏幕邊界。
我很確定每當scrollView被滾動時都會調用一個方法。在這種方法中,你可以檢查
//put this in your .h or something
BOOL vc1IsVisible = true;
//in the scrollView delegate-method that is called upon scrolling
if([self isInsideView:vc1])
{
if(!vc1IsVisible)
{
vc1IsVisible = true;
[vc1 viewDidAppear:NO]; //or whatever it is for animation
}
}
else
{
if(vc1IsVisible)
vc1IsVisible = false
//and viewDidDisappear?
}
,然後某處創建一個方法,像這樣
-(BOOL)isInsideView:(UIViewController*)vc
{
//Check if vc.origin.y is greater than scrollView.size.height or something maybe?
//You can probably also try using the scrollView's contentOffset and use that
//relative to the viewController's sizes.
//if the viewControllers bounds are withing the scrolls bounds, return YES;
//else, return NO;
}
對不起,我真的不能剛纔測試任何東西。如果你還沒有弄明白,也許我會做點什麼,然後更新答案。你需要用兩者來完成。我相信你可以想出一個更好的方法來將這兩種方法都包含在這個方法中,或者甚至包含一個變量。
0
由於您使用ViewController
通過將其添加滾動視圖的子視圖,通過添加ViewController
這樣viewDidLoad
,viewWillAppear
,viewDidAppear
只被調用一次,我的意思是有沒有用viewWillAppear中的位置正因爲如此,而如果你想更新任何在加入ViewController
你應該ViewController
創建一個公共類,並調用它時,你需要更新..
相關問題
- 1. iOS5內容視圖控制器阻止自定義容器視圖控制器上的滾動視圖
- 2. 自定義容器視圖控制器
- 3. 在自定義容器控制器中拆分視圖控制器?
- 4. iOS自定義視圖控制器
- 5. 自定義更多視圖控制器
- 6. 自定義輸入視圖控制器
- 7. 自定義視圖控制器幫助
- 8. 自定義類視圖控制器
- 9. 如何製作自定義容器?
- 10. Silverstripe自定義控制器和視圖(模板)如何工作?
- 11. 如何在iOS中自動滾動UIPage視圖控制器?
- 12. MVC4傳遞自定義視圖模型回控制器動作
- 13. iOS 7自定義容器控制器 - 如何設置子控制器的視圖插圖?
- 14. 如何創建iPhone自定義選擇器視圖控制器?
- 15. 動畫容器視圖控制器
- 16. 滾動在自定義的可用視圖控制器不起作用
- 17. 控制子容器滾動
- 18. 在自定義控制器動作
- 19. 自定義控制器動作
- 20. 如何顯示容器視圖視圖控制器和隱藏容器視圖視圖控制器
- 21. Android如何爲回收視圖製作自定義滾動條
- 22. 從容器視圖中的視圖控制器中,如何訪問包含容器的視圖控制器?
- 23. 2視圖控制器中的textViews,但視圖控制器不滾動?
- 24. 在應用程序中處理不同的視圖控制器:創建自定義內容視圖控制器
- 25. 如何在滑動滾動視圖中控制自動滾動
- 26. 如何通過使用滾動操作來從子視圖控制器的父視圖控制器?
- 27. 如何創建自定義視圖控制器?
- 28. 如何使用自定義視圖控制器來擴展UIImagePickerController?
- 29. 如何自定義.deviceOwnerAuthentication視圖控制器?
- 30. 添加自定義滾動型水平在所有視圖控制器