2014-11-05 3 views
0

У меня есть приложение для симуляции, в котором есть некоторые модули, и один из них - это экран, который необходимо перезагрузить для показа одних и тех же данных. Пример: у меня есть экран вопросов и ответов. Как нижеКак добавить мультивизор на экран?

Вопрос: bla bla bla?

Пункт А: X

Пункт B: Y

Item C: Z

...

экран остается тем же, что должно быть изменение является вопрос ответьте на элемент содержания A, пункт B и т. д.

И, я загружаю информацию «hardcode». Я уверен, что есть другой лучший выбор, чтобы сделать это ^^. Я хотел бы использовать один и тот же экран для загрузки функций. Как я могу это сделать? Я искал страничный контроллер, но это не то, что я хочу, я бы хотел использовать навигационный контроллер для навигации с экранами. У меня есть словарь из списка всех вопросов с ответами: itemA, itemB и т. Д., Как я могу загрузить это на «том же экране» с опцией next> и < previous?

ответ

0

Простым решением является создание одного UIView, добавьте все вопросы и ответы, связанные с ним.

  1. Создать один UIView добавить все вопросы и ответы, связанные с видом на это
  2. Создать следующий/предыдущий UIButtons
  3. Добавить и удалить эту точку зрения на следующих/предыдущих событиях и перезагружать внутреннее содержание представления.
  4. Использование ниже метод для анимации, которая выглядит как навигация следующая/предыдущая

В ниже методе self.questionPaperView является, который будет анимирован и содержит все вопросы и ответы, связанные с видом.

Примечание: Создайте глобальную переменную для questionPaperView и для внутренних видов. Таким образом, вам не нужно добавлять вопросы/ответы в subviews каждый раз, когда вы добавляете/удаляете questionPaperView.

- (void) removeQuestionPaper { 
    [UIView animateWithDuration:0.35f animations:^{ 
     [self.questionPaperView removeFromSuperview];      
     [self.view layoutIfNeeded]; 

    } completion:^(BOOL finished) { 
     // Call data reload method here. 
    }]; 
} 



- (void) addQuestionPaper { 

    [self.view addSubview:self.questionPaperView] 

    CATransition *animation = [CATransition animation]; 
    [animation setDuration:0.5]; 
    [animation setType:kCATransitionFade]; 
    [animation setSubtype:kCATransitionFromRight]; // For previous use kCATransitionFromLeft 
    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; 
    [[theWindow layer] addAnimation:animation forKey:@"NextView"]; 
} 
+0

но как я буду контролировать положение компонентов на новых экранах? У меня есть способ сделать это, но не знаю, как сделать в случае добавления новых представлений .. мой проект [здесь] (https://github.com/guiltm/Simulado-PMP) –

+1

Я понимаю, теперь меня это устраивало .. но без анимации, анимация была хорошей, D Im просто торгует содержимым представления и использует анимацию, чтобы дать мне хороший эффект, но Im использует анимацию [здесь] (http://stackoverflow.com/questions/5435547/page-curl-on-ios), но ответ у меня очистил голову :) –

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