Вопрос по uialertview, ios, ios7, uidatepicker – iOS 7 UIDatePicker в настройке UIAlertView

2

Ребята, я добавил UIDatePicker в UIAlertView, какэтот

Это было нормально с iOS 6 и ниже, теперь в iOS 7 это выглядит так

Есть идеи, почему это происходит? Есть ли лучший способ сделать это?. Любая помощь приветствуется.

Ваш Ответ

5   ответов
3

Это мой компонент для поддержки addSubview в AlertView.

CXAlertView - Настраиваемый просмотр предупреждений, позволяющий добавить вид в качестве основного контента.

8

Ты можешь изменитьсяaccessoryView любому собственномуcustomContentView в стандартном виде оповещения в iOS7

[alertView setValue:customContentView forKey:@"accessoryView"];

Обратите внимание, что вы должны позвонить до этого[alertView show].

Простейший иллюстрирующий пример:

UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"TEST" message:@"subview" delegate:nil cancelButtonTitle:@"NO" otherButtonTitles:@"YES", nil];
UIView *v = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 50)];
v.backgroundColor = [UIColor yellowColor];
[av setValue:v forKey:@"accessoryView"];
[av show];

Точно так же, как вы можете добавить свойDatePicker.

Спасибо! Это именно то, что я искал! Sheharyar
3

На iOS7 вы должны использовать новую поддержку пользовательских модальных переходов в UIKit, используяUIModalPresentationCustom а также .transitioningDelegate

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

Больше информации здесь:https://developer.apple.com/library/ios/documentation/uikit/reference/UIViewControllerTransitioningDelegate_protocol/Reference/Reference.html#//apple_ref/occ/intf/UIViewControllerTransitioningDelegate

1

Это не поддерживается, и я не верю, что онипочини это' .. свернуть свой собственный вид предупреждения или использовать альтернативу с открытым исходным кодом. смотрите такжеUIAlertView addSubview в iOS7

Спасибо, я думал об использовании UIView вместо UIAlertView или какого-либо компонента с открытым исходным кодом. satheeshwaran
3

Там нет исправить это. Добавление подпредставлений в UIAlertView никогда не поддерживалось, и в iOS 7 это привело к тому, что подпредставления не показывались. Некоторые обходные пути были опубликованы на форумах разработчиков Apple, но они могут легко сломаться в будущем выпуске.

Я предлагаю подать отчет об ошибке. Многие другие (в том числе и я) сделали это, и чем больше запросов получает Apple, тем выше становится ее приоритет.

РЕДАКТИРОВАТЬ: Я написалUIAlertView клон, который позволяет добавлять подпредставления:.SDCAlertView

Подал бы ошибку точно. satheeshwaran
Спасибо, я знал, что это не лучший способ, но мое приложение нуждалось в этом. satheeshwaran
Да, многим это нужно. Тот'почему регистрация ошибки так важна. Scott Berrevoets

Похожие вопросы