Разработка одного пользовательского представления, используемого для многих ViewController - PullRequest
0 голосов
/ 29 августа 2018

В моем проекте я хочу получить доступ к местоположению всегда. Если пользователь дает разрешение на доступ к местоположению как Только при использовании приложения , я хочу показать пользовательский alertView с одной кнопкой, а затем нажать на эту кнопку, пользователь перейдет к экрану настроек приложений. изменить разрешение местоположения. Я хочу, чтобы этот же самый просмотр предупреждений был во многих ViewControllers. Как это возможно?

Мой код:

- (IBAction)changetoAlwaysClicked:(id)sender {
    _locationView.hidden = YES;
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString: UIApplicationOpenSettingsURLString] options:@{} completionHandler:^(BOOL success) {
    }];
}

enter image description here Любая помощь очень ценится ..!

1 Ответ

0 голосов
/ 30 августа 2018

Я думаю, что это можно правильно решить, создав xib, в этом файле создайте желаемое представление (или, в данном случае, просто переместите его). Добавьте также ViewController и поместите туда необходимую логику для оповещения.

Тогда в любом viewcontroller, который вам требуется, вам просто нужно вызвать его так.

CustomAlertViewController *customVC = [[CustomAlertViewController alloc] initWithNibName:'CustomAlertViewControllerNAME' bundle:nil];
customVC.modalPresentationStyle = UIModalPresentationOverFullScreen;
customVC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; //or any other animation that you want

[self presentViewController:customVC animated:YES completion:nil];

Важно настроить выходное представление вашего CustomViewController, чтобы эта работа работала.

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

Сначала определите перечисление

typedef NS_ENUM(int, CustomAlertViewControllerMode) {
    CustomAlertViewControllerModeExample1 = 0,
    CustomAlertViewControllerModeExample2 = 1,
};

в заголовочном файле добавьте свойство

@property CustomAlertViewControllerMode mode;

затем, когда вы вызываете его, вы просто добавляете эту строку перед методом presentViewController

[customVC setMode:CustomAlertViewControllerModeExample1];

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...