Как мне настроить UIAlertController в SDK? - PullRequest
0 голосов
/ 23 июня 2019

Итак, я уже понимаю и могу создать свой собственный UIAlertController (шрифты, цвет фона, цвет текста, цвет оттенка и т. Д.).Так что проблема не в этом.

Проблема, с которой я сталкиваюсь:

Когда я использую файл SDK (например, SDK Facebook), я не могунайдите, где внутри заголовков Objective-C SDK начинается (и представляется) значение по умолчанию UIAlertController.Если бы я мог, я бы хотел заменить значение по умолчанию своим собственным предупреждением.

На данный момент я уже создал свой пользовательский класс со статической функцией, которая возвращает мой пользовательский UIAlertController для моегоВК, чтобы представить.Я также уже протестировал реализацию, и она отлично работает.

Сначала я попытался вручную выполнить поиск в заголовках SDK Facebook Objective-C Facebook, чтобы найти, где по умолчанию UIAlertController инициируется и затем представляется, ноочевидно, без особой удачи ...

Следующее, что я попробовал, было использование Xcode Find Navigator для поиска "AlertController".Увы, в заголовочных файлах SDK ничего не найдено (может быть, мне следует изменить область поиска?).

Последнее, что я попробовал, - это просто поиск в Google, но все, что я мог найти, - это учебные пособия по созданию пользовательских UIAlertController (что я и так умею делать).

Хотя в моей нынешней ситуации я использую SDK Facebook.Лучший ответ будет более общим, чем конкретным (если это возможно).Таким образом, если в будущем я использую другой / новый SDK, я все еще могу применить ваш метод.Благодаря.

1 Ответ

0 голосов
/ 24 июня 2019

Я не рекомендую редактировать и разветвлять SDK FB, это было бы кошмаром для обслуживания.

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

https://nshipster.com/method-swizzling/

...