Я думаю, что это можно правильно решить, создав 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 скрыть необходимые представления, если это необходимо, на основе значения перечисления.