2015-08-02 2 views
0

Хорошо, парни/девушки, вот что я хочу делать, мне бы понравились некоторые указатели на хороший учебник или хорошее объяснение того, как это сделать. Насколько мне бы хотелось, чтобы кто-то отправил код здесь, мне нужно научиться делать это для будущих проектов и в целом чувствовать себя хорошо. (Я обыскал себя, но мог найти только быстрые учебники, похожие, но не одинаковые)iOS Segue Анимация Новичок с запросом

Представьте экран с круговой кнопкой в ​​середине, подождите вы не должны massive picture with button in middle

к сожалению о размере, я хочу, чтобы нажать на эту кнопку и выполнить переход, который расширяется от этой кнопки, в конце концов заполнения экран с новым красным экраном. Таким образом, по существу кнопка растет и заполняет экран, но на самом деле я перехожу на новый экран.

Любые указатели очень ценят. Благодарю.

Незначительная деталь: это единственный экран на раскадровку в настоящее время

ответ

1

я должен был сделать несколько неочевидных вещей, чтобы сделать эту работу. Во-первых, избавьтесь от ограничений кнопок в раскадровке. Во-вторых, добавьте строку к моему viewDidLoad, чтобы получить ограничения.

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    self.redButton.translatesAutoresizingMaskIntoConstraints = YES; 
} 

Затем для фактического эффекта я создаю анимацию при нажатии кнопки. Бит animated:NO в обработчике завершения предотвращает лишний визуальный шум.

- (IBAction)redButtonTapped:(id)sender { 
    [UIView animateWithDuration:3.0 animations:^{ 
     self.redButton.frame = self.view.frame; 
    } completion:^(BOOL finished) { 
     UIViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"redController"]; 
     [self presentViewController:vc animated:NO completion:nil]; 
    }]; 
} 

Для этого я использовал простой объект кнопки. Чтобы он работал с круглым изображением, вам, возможно, придется немного поиграть с новым размером кадра.

+0

Это довольно аккуратный ответ и очень хорошо работает для эффекта, который я ищу, я собираюсь отметить его как правильный ответ, даже если это не технически то, что я просил, но мне нравится, когда люди думают вне коробки , Большое спасибо – JKX

+0

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

+0

Хорошо, так что в принципе это способ сделать это ... Я приветствую ваши знания! Спасибо – JKX

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