Подтвердить что ты не робот

Условное отклонение отклонено вначале в уставе ios 6

Я только что обновил iOS 6 и запустил свой старый код, созданный в iOS 4.3. Они дают мне несколько предупреждений в моем приложении.

Я использовал presentModelViewController:, а затем я отклонил его, но он дал мне предупреждение

ОтключитьModalViewControllerAnimated устарел, устаревший сначала в iOS 6.

Почему они показывают предупреждение этому коду? Вот код:

[picker dismissModalViewControllerAnimated:YES];

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

4b9b3361

Ответ 1

Теперь в ios 6 Вы можете использовать

[[Picker presentingViewController] dismissViewControllerAnimated:YES completion:nil];

Вместо

[[Picker parentViewControl] dismissModalViewControllerAnimated:YES];

и

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

Вместо

[self presentModalViewController:picker animated:YES];

Ответ 2

Вы должны получить предупреждение об устаревании, если для цели развертывания установлено значение iOS 6. Поэтому я бы проверял цель развертывания, которая, вероятно, установлена ​​на значение по умолчанию для Xcode. Как только вы измените это значение на 4.3, предупреждения об отказе должны исчезнуть.

Ответ 3

Вы можете использовать dismissViewControllerAnimated:completion, из iOS Developer docs

dismissViewControllerAnimated: завершение:

Отключает контроллер вида, который был представлен приемником. - (void) cancelViewControllerAnimated: (BOOL) завершение флага: (void (^) (void)) Параметры завершения

флаг

Pass YES to animate the transition. completion

A block called after the view controller has been dismissed.

Обсуждение

Контроллер представления представления отвечает за отклонение представления который он представил. Если вы вызываете этот метод на представленном представлении сам контроллер автоматически пересылает сообщение в представление контроллера представления.

Если вы последовательно представляете несколько контроллеров представлений, стек представленных контроллеров представления, вызывая этот метод в представлении контроллер ниже в стеке отклоняет его непосредственный вид ребенка контроллер и все контроллеры представлений над этим дочерним элементом в стеке. Когда это происходит, только самое верхнее представление отклоняется в анимированном мода; любые контроллеры промежуточного вида просто удаляются из стек. Самый верхний вид отклоняется с использованием его модального перехода стиль, который может отличаться от стилей, используемых другими контроллерами представлений ниже в стеке.

Если вы хотите сохранить ссылку на представление, представленное получателями контроллер, получить значение в свойстве presentationViewController перед вызовом этого метода.

Обработчик завершения вызывается после viewDidDisappear: method is вызывается на представленном контроллере представления. Наличие

Available in iOS 5.0 and later.

Ответ 4

Я меняю свой код

[self dismissModalViewControllerAnimated:YES];

к

[self dismissViewControllerAnimated:YES];

и получить ошибку: Нет видимого @interface для "KLPARewardController" объявляет селектор "rejectViewControllerAnimated:"