내 iPhone 앱에서 내 시간 라벨에 대한 화면 공간이 부족합니다. 내 해결책은 시간을 갖는 것입니다. 12:00 한 줄에 표시하고 사용자의 현재 로캘에서 AM-PM이 사용되도록 지정하는 경우 아래에 두 번째 레이블로 표시합니다.NSString에서 12 시간 시계 접미사 제거
AM-PM에도 현지화 된 변형이 있기 때문에 "AM"또는 "PM"문자를 찾을 수는 없지만 마지막 두 문자를 제거하는 것에 대해 생각했지만 일부 언어는 형식 이렇게 : "FM" "여자 이름". 나의 다음 생각은 처음 5 자리 (12:34) 다음에 모든 것을 떼어내는 것이었지만, 10 시간 이하의 시간 간격은 좋지 않았다.
사용자 설정에 관계없이 항상 현지화 된 접미사를 제거하고 새 문자열로 이동하는 "로케일 안전"방식이 있습니까?
미리 감사드립니다.
안녕 Niels 고맙습니다. :) 이미 NSDate 개체가 있고 사용자에게 24 시간 형식을 쉽게 적용 할 수 있지만 (세계를 더 단순하게 만들 수는 있지만) 설정을 존중하고 싶습니다. 24 시간 형식의 사용자를 처리 할 때 아무런 문제가 없습니다. 그러나 12 시간 형식 인 경우 플래그를 올리고 문자열에서 "AM"또는 "PM"접미사를 제거하고 별도의 UILabel로 이동해야합니다. 앱이 약속을 처리하므로 시간과 날짜가 중요하며 사용자가 시간에 대해 불확실하거나 의문을 느끼기를 바라지 않습니다. (12 시간 시계를 사용할 때처럼 :) – RickiG
나도 마찬가지입니다. 24 시간 표기법 또는 완전한 오전/오후 표기법. 나는 당신이 사용자의 로케일을 존중할 수 있다고 생각하지 않는다. * 그리고 * 디스플레이 포맷을 엉망으로 만든다. 아마도 약속이 곧 나올 것이라고 사용자에게 알리는 다른 방법이 있습니다. "10 분 후", 빨간색 깃발, 시계 아이콘 또는 이와 유사한 항목이 있습니까? 태양 또는 달 아이콘? –
안녕 Niels. 이것은 NSDate 질문보다 NSString 질문에 더 가깝습니다. 날짜에 NSDateFormatterShortStyle을 사용합니다. 그것을 NSString으로 변환하십시오. 이 문자열에 12 시간 시계 접미사가 포함되어 있으면이 접미사를 시간 레이블 아래의 레이블로 이동하십시오. 그것은 다른 것들에도 좋습니다. 예 : 오전 PM 접미사는 물론 넣는 레이블과 동일한 글꼴 크기를 갖습니다. 이를 제거하고 별도의 레이블에 표시함으로써 시간 레이블보다 작은 크기로 설정할 수도 있습니다. 다시 한번 감사드립니다. – RickiG