Уволить модальный ViewController Popup - PullRequest
0 голосов
/ 02 сентября 2018

Вот случай. У меня есть 2 контроллера. В первом контроллере у меня нормальная форма обратной связи при отправке формы есть всплывающее окно (модальное). Второй контроллер я использую как модальный. Я называю второй контроллер модальным, используя приведенный ниже код первого контроллера.

popupObj= [self.storyboard instantiateViewControllerWithIdentifier:@"OTPDialogViewController"];
popupObj.view.frame = self.view.frame;
[self.view addSubview:popupObj.view];
[self addChildViewController:popupObj];

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

[self dismissModalViewControllerAnimated:NO];

Ответы [ 2 ]

0 голосов
/ 03 сентября 2018

Вы добавляете контроллер представления popupObj в первый контроллер представления как «дочерний» контроллер представления.

Если вы проверяете документацию для addChildViewController:, соответствующий метод для его отклонения (дочерний контроллер представления): - (void) removeFromParentViewController;

Ссылка на: - (void) addChildViewController: (UIViewController *) childController; https://developer.apple.com/documentation/uikit/uiviewcontroller/1621394-addchildviewcontroller?language=objc

Попробуйте это в вашем контроллере popupObj view:

- (IBAction)dismissBtnClicked:(UIButton *)sender {
    [self removeFromParentViewController];
}

ссылка на: - (void) removeFromParentViewController; https://developer.apple.com/documentation/uikit/uiviewcontroller/1621425-removefromparentviewcontroller?language=objc

Надеюсь, это поможет.

0 голосов
/ 02 сентября 2018

это будет работать для меня в swift 4. попробуйте на вашем втором способе действия кнопки контроллера вида

 @IBAction func btncClose(_ sender: UIButton) {

        self.dismiss(animated: true, completion: nil)
    }
...