Проблема, которую я пытаюсь решить, заключается в следующем:
При использовании UIImagePicker он настраивается при повороте устройства.Я не хочу, чтобы это делалось, скорее, оно должно постоянно оставаться в портретной ориентации.Я много гуглил и не нашел никакого решения (просто другие с такой же нерешенной проблемой).Единственным ответом было использование приватного вызова API, я бы предпочел не рисковать.
-
Однако я наткнулся на ' метод swizzling ' - способобмена именами методов во время выполнения.Что я планирую сделать:
Добавить категорию в UIViewController, которая определяет методы, такие как 'customShouldRotate', определяющие пользовательское поведение, которое не допускает вращения.
Swizzle эти методы с методами ротации по умолчанию UIViewController во время выполнения.
-
Хотя, подумав немного, все может быть не так просто.Вот почему - любые ответы на следующие вопросы были бы очень благодарны.
Метод, который я использую, находится в UIViewController, а не в UIImagePickerController.Я не могу подключиться к средству выбора изображений напрямую, я уже пробовал через подклассы, и это, кажется, контроллер подпредставления, который обрабатывает вращение, а не сам UIImagePickerController.Будут ли swizzled методы переходить к подклассам, если нет, то есть ли обходной путь для этого?
Возможно, это не обычный метод ротации из UIViewController, который используется в UIImagePickerController.Есть ли какой-нибудь способ сказать?
Будет ли Apple в порядке с методом Swizzling?Я не использую приватный вызов API, но, опять же, я не буду слишком удивлен, если они все равно отклонят его.
-
Реальна ли эта идея/ стоит попробовать - или, если кто-то на самом деле решил исходную проблему другим способом, это было бы еще лучше.