Я хочу установить изображение в UIScrollView, но есть проблема. Изображение находится за пределами UIScrollView

#iphone #uiscrollview

#iPhone #uiscrollview

Вопрос:

Я хочу установить изображение в UIScrollView, но есть проблема. Изображение находится за пределами UIScrollView. Я использую [self.ScrollView добавляет SUBVIEW:view];

введите описание изображения здесь

 enter code here
  

ScrollView = [[UIScrollView alloc] initWithFrame:scrollViewRect];

  -(void)scrollViewDidScroll:(UIScrollView *)sv
 {
    int page = [self currentPage];
    // Load the visible and neighbouring pages 
    [self loadPage:page-1];
    [self loadPage:page];
    [self loadPage:page 1];
}


 -(void)loadPage:(int)page
 {
// Sanity checks
if (page < 0) return;
if (page >= [scrollViewPages count]) return;

// Check if the page is already loaded
UIView *view = [scrollViewPages objectAtIndex:page];

// if the view is null we request the view from our delegate
if ((NSNull *)view == [NSNull null]) 
{
    view = [delegate viewForItemAtIndex:self index:page];
    [scrollViewPages replaceObjectAtIndex:page withObject:view];
}

// add the controller's view to the scroll view if it's not already added
if (view.superview == nil) 
{
    // Position the view in our scrollview
    CGRect viewFrame = view.frame;
    viewFrame.origin.x = viewFrame.size.width * page;
    viewFrame.origin.y = 0;

    view.frame = viewFrame;

    [self.scrollView addSubview:view];
}
  

}

 enter code here
  

Я прикрепил свой проект в my project

Ответ №1:

Вы присваиваете желаемый кадр виду перед добавлением его в режим прокрутки?

Комментарии:

1. Вы можете видеть UIScrollView на моей фотографии. Оно находится за фотографией Балмера и имеет серый цвет.

2. Я скачал ваш проект. Проблема в том, что у вас высота изображения равна 280, но высота просмотра прокрутки намного меньше. Пожалуйста, сделайте в xib высоту просмотра прокрутки равной или превышающей максимальную высоту изображения, и это должно сработать. Если у вас возникнут какие-либо проблемы, я затем загружу исправленный проект. Если быть более конкретным, высота прокрутки была около 119, а высота размера содержимого — 320. Таким образом, вы видите серую область только рамки прокрутки (высота 119 пикселей), но она пытается отобразить изображение высотой 280 пикселей, которое выходит за пределы серой области.

3. Я изменил ScrollView.clipsToBounds с NO на YES. Это помогло мне.