2013-02-26 3 views
0

У меня проблема с uiscrollview. Когда у меня это как обычный просмотр прокрутки, все UIButtons работают, как ожидалось. Когда я добавляю пейджинг к нему, кнопки больше не отвечают. У меня есть верхний край, торчащий, и они принимают пресс оттуда. Они определенно находятся за просмотром прокрутки, но они будут прокручивать и удалять страницу, когда она перемещается, как я хочу. Я прочитал много разных ответов, но большинство из них не даст ответа, если вы не используете контроллеры жестов. Я прикрепляю фрагмент кода, который создает пейджинг. можете ли вы сообщить мне, что я могу потерять?UIButton не отвечает UIScrollview Paging

-(void)scollPagingSetup:(float)frameSize { 
float numberOfPages; 
int maxheight; 

[self.view setPagingEnabled:YES]; 
[self.view setBounces:YES]; 

UIView *first = [[UIView alloc]initWithFrame:self.view.frame]; 
[self.view addSubview:first]; 


maxheight = [UIScreen mainScreen].bounds.size.height; 
numberOfPages = ceil(frameSize/maxheight); 
for (int i = 1; i < numberOfPages; i++) { 
    CGRect frame; 
    frame.origin.x = 0; 
    frame.origin.y = self.view.frame.size.height * i; 
    frame.size = self.view.frame.size; 

    UIView *subview = [[UIView alloc] initWithFrame:frame]; 
    [self.view addSubview:subview]; 

} 

self.view.contentSize = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height *numberOfPages); 
} 

Заранее благодарю вас за то, что посмотрели. Я нашел что-то, что могло бы ответить на эту проблему, но я не мог понять, что такое реальные решения. вот ссылка на этот вопрос:

IPhone UIButton doesn't respond in a UIScrollView

+0

Из того, что я прочитал в другом вопросе, попробуйте изменить последнюю строку кода (прямо перед последним «}» в этом коде: 'self.view.contentSize = CGSizeMake (self.view.frame.size .height, first.view.frame.size.width); ' –

+0

^Кроме того, в вашем коде ширина и высота были переключены? Это специально (то есть, что-то делать с ландшафтным режимом?). Обычная практика заключается в том, что высота начинается сначала, а затем ширина ... но я думаю, это не имеет значения, так что вы получите желаемый результат в конце, просто хотите чтобы убедиться, что это не ошибка 0 :) –

+0

да, я хочу прокручивать сверху вниз, а не влево и вправо. – Bill

ответ

0

Проблема заключается в том, что размер контента не настроен должным образом, так что «активная область» (размер области содержимого в) также не установлена ​​... на последнюю строку кода (строка до последнего «}») вы устанавливаете кадр contentSize scrollView для себя, который будет только 0 ... попробуйте это вместо этого (я использую «first» (вложенное представление) вместо «self» (прокрутка -view себя)

self.view.contentSize = CGSizeMake(firstframe.origin.x, (firstframe.origin.y - 20) * numberOfPages); 

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

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