1

Я использую Xcode 4.6 для создания приложения iOS 6.x и использования Storyboard's. Внутри каждого вида с вкладками нет проблем с добавлением UIScrollView и взаимодействием с любым из элементов, которые помещены в него.uiscrollview в viewcontroller в modal segue

Однако ... когда я нажимаю кнопку для перехода к новому виду в своем раскадровке с использованием модального Segue, вид прокрутки не работает в модальном представлении.

Пример:

Оба TestViewController.h и TRViewController.h содержат код, подобный этому:

@property (strong, nonatomic) IBOutlet UIScrollView *scroller; 

В методе viewDidLoad на в обоих TestViewController.m и TRViewController.m:

[_scroller setScrollEnabled:YES]; 
[_scroller setContentSize:CGSizeMake(320, 1000)]; 

Затем в IB выход правильно подключен к виду:

enter image description here

Так что мой код дублируется/то же самое через IB, .h и .m для каждого из видов. Работает в одной области, но не в другом. Кроме того, единственный другой блок, что я думаю, что может иметь отношение к моей проблеме может быть от Segue:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
    if ([segue.identifier isEqualToString:@"trSegue"]) {   
    TRViewController *_trVC = segue.destinationViewController; 
    _trVC.delegate = self; 
    } 
} 

Am Я просто не хватает что-то такое совершенно очевидное? Я думаю, что это будет ладонь вперед, как только я увижу решение ...

Мысли/комментарии?

Заранее благодарен! - Drew

ответ

0

Хорошо ... Я обнаружил, что если я просто изменю segue от Modal до Push ... он отлично работает без каких-либо дополнительных настроек/настроек. Я думаю, что я просто поеду на этот маршрут, а не закручусь с ним дальше.

Тем не менее, я все равно хотел бы найти способ сделать это (если возможно).

1

Я понял. Вы должны поместить свой UIScrollView в другой пустой UIView. Иерархия будет выглядеть примерно так в вашем интерфейсе строитель:

enter image description here

Причина в том, из-за способа модальный переход отображает содержание. Когда вы выполняете push-сегу, он фактически нажимает ViewController на самый верхний слой навигационного стека, тогда как при модальном сегменте он меняет то, что отображается на экране. Я не уверен, что это приведет к тому, что яблоко отклонит ваше приложение или нет, но оно работает.

+0

Спасибо! У меня была аналогичная проблема с push-сегом, и я решил это сделать. При возврате в VC, содержащем scrollview-in-a-UIView, хотя это было испорчено - я решил это, установив вручную смещение содержимого на 0,0 в viewWillAppear(). – Desty

Смежные вопросы