2013-12-09 3 views
0

Я делаю приложение, которое имеет вид прокрутки между тремя контроллерами представлений. Я создаю меню справки, которое должно появляться поверх представления прокрутки, в виде другого прокрутки, содержащего 3 изображения, которые объясняют приложение. Таким образом, это свиток в верхней части прокрутки. Вот мой код:UIScrollView поверх UIScrollView

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
// Do any additional setup after loading the view, typically from a nib. 

StopwatchViewController *svc = [[StopwatchViewController alloc]init]; 
[self addChildViewController:svc]; 
[self.scrollView addSubview:svc.view]; 
[svc didMoveToParentViewController:self]; 

BarsViewController *bvc = [[BarsViewController alloc] init]; 
CGRect frame = bvc.view.frame; 
frame.origin.x = 320; 
bvc.view.frame = frame; 

[self addChildViewController:bvc]; 
[self.scrollView addSubview:bvc.view]; 
[bvc didMoveToParentViewController:self]; 

TimerViewController *tvc = [[TimerViewController alloc]init]; 
frame = tvc.view.frame; 
frame.origin.x = 320 * 2; 
frame.origin.y = 44; 
tvc.view.frame = frame; 

[self.scrollView.panGestureRecognizer requireGestureRecognizerToFail:tvc.pan]; 
[self addChildViewController:tvc]; 
[self.scrollView addSubview:tvc.view]; 
[tvc didMoveToParentViewController:self]; 

self.scrollView.contentSize = CGSizeMake(320*3, self.view.frame.size.height); 
self.scrollView.pagingEnabled = YES; 

self.scrollView.contentOffset = CGPointMake(320,0); 

[self.scrollView setShowsHorizontalScrollIndicator:NO]; 

// THIS IS WHERE IT GOES WRONG 

if ([[ UIScreen mainScreen ] bounds ].size.height == 568) { 
    NSArray *images = [[NSArray alloc] initWithObjects:[UIImage imageNamed:@"Guide Page One.png"], [UIImage imageNamed:@"Guide Page One.png"], [UIImage imageNamed:@"Guide Page One.png"], nil]; 
    self.helpScrollView.contentSize = CGSizeMake(280 * 3, 528); 
    self.helpScrollView.pagingEnabled = YES; 

CGFloat xPos = 0.0; 

for (UIImage *image in images) { 
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; 
    imageView.frame = CGRectMake(xPos, 0.0, 280, 528); 
    [self.scrollView addSubview:imageView]; 
    xPos += 280; 
    // assuming ARC, otherwise release imageView 
} 

self.helpScrollView.contentOffset = CGPointMake(340,20); 
} 
[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(showHelp) 
              name:@"showWelcomeMessage" 
              object:nil]; 
} 

Первая часть моего кода (вплоть до комментария) работает нормально. Я могу провести между моими тремя контроллерами. Далее я хочу, чтобы пользователь нажал кнопку, и для этого нового вида прокрутки появится сверху (оставляя край 20px от краев). Он должен иметь навигационную панель в верхней части, например, так:

enter image description here

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

Я просто хочу иметь прокрутку в верхней части основного прокрутки, в которой будут представлены 3 изображения, чтобы объяснить приложение.

Любая помощь очень ценится, поскольку я действительно не знаю, что делать дальше, и я не могу найти что-либо на этом сайте, похожее на мою проблему. Пожалуйста, запросите дополнительную информацию, если необходимо!

Большое спасибо!

ответ

0

если пользователь нажимает следующую кнопку, вы хотите прокручивать содержимое, как страница?

+0

Да, они могут нажать рядом, чтобы перейти к следующему рисунку, или просто прокрутить – user2397282

+0

Если у вас есть представление о том, как выполнить все это, то я был бы очень благодарен, если бы вы могли написать примерный код того, как реализовать это в мое приложение. При необходимости запросите дополнительную информацию. – user2397282

+0

Затем сделайте следующее \t 1) \t создать переменную INT INT страницу = 1; 2) \t В следующей кнопки действий добавить следующий - (недействительными) nextButtonAction: (ID) отправителя { , если (страница <= 3) { \t \t [UIView animateWithDuration: 0.5 анимации:^{ \t self.scrollView.contentSize = CGSizeMake (320 * страница, self.view.frame.size.height); }]; страница ++; } } – DineshKumar

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