В моем приложении есть два контроллера вида, например, vc1 и vc2. Два контроллера представлений - это как подвид прокрутки, поэтому пользователь может прокручивать экран для переключения вида. Однако простой инструмент имеет проблему: метод viewWillAppear vc1 и vc2 вызывается только один раз. поэтому я хочу реализовать свой контроллер просмотра контейнера прокрутки, который может вызвать метод viewWillAppear правильно, пожалуйста, скажите мне, как его реализовать.Как сделать пользовательский контроллер просмотра прокрутки?
ответ
Я не уверен, что вы пытаетесь сделать, но я думаю, что просто UITableView или UICollectionView может быть лучше вы, потому что у них есть метод источника данных, который будет автоматически вызываться, когда представление появится на экране. Вы можете обновить два представления, когда вам нужно вернуть UITableViewCell или UICollectionViewCell.
Я не уверен, что это сработает, но я думаю, вы можете проверить, соответствуют ли рамки 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;
}
К сожалению, я не могу проверить что-нибудь прямо сейчас. Может быть, я что-то сделаю и позже обновлю ответ, если вы этого не поняли. И вам нужно сделать это с обоими. Я уверен, что вы можете найти лучший способ включить как один метод с этим, так и даже с одной переменной.
Поскольку вы используете ViewController
, добавив его подвид из Scrollview, добавив ViewController
таким образом viewDidLoad
, viewWillAppear
, viewDidAppear
будет вызываться только один раз, я имею в виду нет использования viewWillAppear здесь как таковые, а если вы хотите обновить ничего в добавленном ViewController
вы должны создать общественный класс в ViewController
и назвать его, когда вам нужно обновление ..
- 1. Пользовательский контроллер просмотра при запуске
- 2. Пользовательский контроллер просмотра для набора настроек?
- 3. Существующий пользовательский контроллер просмотра в раскадровке?
- 4. Пользовательский контроллер просмотра композитных сообщений для iOS
- 5. Как сделать пользовательский прокрутки jQuery плагин
- 6. Swift: Как сделать вид прокрутки выполнять дочерние контроллеры просмотра viewDidLoad
- 7. Как запрограммировать контроллер просмотра?
- 8. Как сбросить контроллер просмотра?
- 9. Как закончить контроллер просмотра?
- 10. Как добавить пользовательский uiview в контроллер просмотра программно SWIFT
- 11. UICollectionView пользовательский элемент и сделать горизонтальный прокрутки
- 12. Как написать контроллер веб-просмотра
- 13. Пользовательский интерфейс просмотра страницы Прокрутка прокрутки не прокручивается назад
- 14. Magento: создать пользовательский контроллер
- 15. открыть новый контроллер просмотра с точки зрения прокрутки
- 16. Пользовательский контроллер
- 17. Xcode, контроллер просмотра навигации
- 18. Как сбросить контроллер просмотра программно
- 19. Определите, как отображается контроллер просмотра.
- 20. Как нажать viewcontroller (контроллер просмотра)?
- 21. Контроллер автономного просмотра UIAlertController
- 22. Пользовательский интерфейс блокирует при нажатии контроллера просмотра на контроллер навигации
- 23. Контроллер AugmentedReality в пользовательский контроллер
- 24. Robotium прокрутки для просмотра
- 25. Мгновенный пользовательский угловой контроллер
- 26. Перетащите контроллер просмотра таблицы таблиц в контроллер просмотра
- 27. Контроллер начального просмотра работает?
- 28. Как сделать вертикальный центр просмотра?
- 29. Вращающийся контроллер просмотра
- 30. Подробный контроллер просмотра