2016-06-14 1 views
0

ViewControllerUIDatePicker을 사용했습니다. iOS 8.x, 에서 제대로 작동하지만 iOS 9.x 장치에서 실행할 때 충돌이 발생합니다.iOS9에서 UIDatePicker 충돌

동일한 방법으로 UIDatePicker을 사용하는 새 프로젝트를 만들려고했지만 모든 iOS 장비에서 정상적으로 작동했습니다.

내 질문은 내 프로젝트 설정이 잘못되었거나 내가 실수로 UIDatePicker을 잘못 입력했는지 여부입니다.

충돌 정보는 다음과 같습니다

내가 중단 점을 설정 하바

click to see the crash log

, 그냥 _datePicker.datePickerMode = UIDatePickerModeDate에서 충돌; iOS 9.3의이며 iOS 8.1에서 정상적으로 작동합니다.

- (UIDatePicker *)datePicker { 
    if (!_datePicker) { 
     NSDate *nowDate = [NSDate date]; 
     _datePicker = [[UIDatePicker alloc] init]; 
     _datePicker.datePickerMode = UIDatePickerModeDate; 
     _datePicker.hidden = YES; 
     _datePicker.backgroundColor = [UIColor whiteColor]; 
     [_datePicker addTarget:self action:@selector(datePickerChanged) forControlEvents:UIControlEventValueChanged]; 
    } 
    return _datePicker; 
} 
+1

충돌을 잡기 위해 브레이크 포인트를 예외로 설정하십시오 – Injectios

+0

코드를 입력하십시오. –

+0

나는보기 및 피커보기 계층 구조에서 뭔가 실수가 있다고 생각합니다. –

답변

0

이미 답변 된 this question에 대한 참조로 iOS 9 업데이트로 인해. 코드를 아래와 같이 업데이트하십시오.

_datePicker = [[UIDatePicker alloc] init]; 
    _datePicker.datePickerMode = UIDatePickerModeDateAndTime; 
    _datePicker.datePickerMode = UIDatePickerModeDate; 
UIPickerView 및 UIDatePicker은 크기를 조절할 수 있습니다

및 적응-이전에, 이러한 뷰는 크기를 조정하려고 시도에도 경우 기본 크기를 적용 할 것입니다. 또한이보기는 이제 iPhone의 기기 너비 대신 모든 기기에서 320 포인트의 너비가 으로 기본 설정됩니다. 기본 크기의 이전 적용에 의존하는 인터페이스는 iOS 9 용으로 컴파일 할 때 잘못 표시 될 수 있습니다. 문제는 암시 적 동작에 의존하지 않고 피커 뷰를 원하는 크기로 완전히 제한하거나 크기를 조정하여 해결할 수 있습니다.

+0

나는 이것을 시도했지만 다시 충돌했다. – suool