2013-05-06 5 views
0

Возможно, огромный вопрос о нобе, но я не могу понять, даже после некоторого времени googling, я не могу найти, чтобы расположить scrollview под навигационной панелью.Упорядочить UIscrollView для обратной связи

Мой код:

- (void)loadView { 

    UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; 
    scroll.backgroundColor = [UIColor blackColor]; 
    scroll.delegate = self; 
    image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Plattegrond DeFabrique schematisch.png"]]; 
    scroll.contentSize = image.frame.size; 
    [scroll addSubview:image]; 

    scroll.minimumZoomScale = scroll.frame.size.width/image.frame.size.width; 
    scroll.maximumZoomScale = 2.0; 
    [scroll setZoomScale:scroll.minimumZoomScale]; 

    self.view = scroll; 

} 

enter image description here

enter image description here

ответ

0

Попробуйте вставить вид за надтаблицы или попробовать sendSubviewToBack.

[[self.view superview] insertSubview:scroll belowSubview:self.view]; 

или

[self.view sendSubviewToBack:scroll]; 

Это звучит, как вы просто хотите, чтобы добавить вид прокрутки к self.view хотя. Сделайте, как другой ответ, предложите и создайте scrollView из рамки self.view, а затем добавьте его в свой self.view.

UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:self.view.frame]; // Thilina 
[self.view addSubview:scroll]; 
+0

Это вызовет бесконечную рекурсию, потому что получение 'self.view' вызывает' loadView'. –

+0

хорошо, что не работал: я сделал это: self.view = scroll; [self.view sendSubviewToBack: прокрутка]; –

+0

Почему вы устанавливаете self.view = свиток? Просто добавьте subview в self.view, и представление прокрутки появится под этим navBar. –

0

Вы можете просто использовать рамку self.view при создании ScrollView. Это решит вашу проблему.

- (void)loadView { 

    UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:self.view.frame]; 
    scroll.backgroundColor = [UIColor blackColor]; 
    scroll.delegate = self; 
    image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Plattegrond DeFabrique schematisch.png"]]; 
    scroll.contentSize = image.frame.size; 
    [scroll addSubview:image]; 

    scroll.minimumZoomScale = scroll.frame.size.width/image.frame.size.width; 
    scroll.maximumZoomScale = 2.0; 
    [scroll setZoomScale:scroll.minimumZoomScale]; 

    [self.view addSubView:scroll]; //MarkM 

} 
+0

Спасибо за вашу помощь, странно я получаю это: http://andrewho.nl/wp-content/uploads/2013/05/iOS-simulatorschermafbeelding-6-mei-2013-23.54.49.png –

0

Поскольку вы передаете кадр [UIScreen mainScreen] в момент выделения UIScrollView, размер UIScrollView перекрывает UINavigation. Замените его

UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:self.view.frame]; 

также, а не заменяя self.view с Scrollview, попробуйте добавить Scrollview, как подвид на self.view

[self.view addSubview:scrollView]; 

Выполните следующие задачи в viewDidLoad

Надеюсь, это вам поможет.

+0

спасибо за вашу помощь, на данный момент я вижу только половину навигационной панели ... реально странно –

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