У меня нехватка экранной недвижимости за мои метки времени в приложении для iPhone. Мое решение состоит в том, чтобы иметь время, например. 12:00 в одной строке, а затем, если пользовательский локаль определяет, что используется AM-PM, на втором метке ниже.Снятие 12-часового суффикса часов от NSString
Поскольку AM-PM также имеет локализованные варианты, я не могу просто искать буквы «AM» или «PM», тогда я подумал об удалении двух последних букв, но, проверив, я узнал, что некоторые языки используют формат вот так: «FM» "ЭМ". Моя следующая мысль заключалась в том, чтобы разбить все после первых 5 цифр (12:34), но на часовые интервалы ниже 10, что тоже не хорошо.
Существует ли «безопасный для локали» способ всегда удалять локализованный суффикс и переместить его в новую строку независимо от настроек пользователя?
Спасибо заранее :)
Hi Niels and thanks :) У меня уже есть объект NSDate, и я мог бы легко «форсировать» 24-часовой формат для пользователя (сделало бы мир более простым местом), но я хотел бы уважать их настройки. Когда Im имеет дело с пользователем, который имеет 24-часовой формат, не проблема. Но когда это 12-часовой формат, мне нужно поднять флаг и вырезать суффикс «AM» или «PM» из строки и переместить его в отдельный UILabel. Приложение предназначено для встреч, поэтому время и даты - важная вещь, и я не хочу, чтобы пользователи чувствовали себя неуверенными или сомневающимися в отношении времени (как и при работе с 12-часовыми часами :)) – RickiG
Я бы либо пошел с 24-часовым обозначением или полной нотой AM/PM. Я не думаю, что вы можете уважать локали пользователей * и * калечить формат отображения. Возможно, есть и другой способ сообщить пользователю, что встречи наступают ... «Через 10 минут», красный флаг, значок часов или что-то подобное? Значок солнца или луны? –
Hi Niels. Это скорее вопрос NSString, чем вопрос NSDate. Я использую NSDateFormatterShortStyle для даты. преобразуйте его в NSString. Если эта строка содержит суффикс часов на 12 часов, переместите этот суффикс на метку под меткой времени. Это также хорошо для других вещей. например суффикс AM PM, конечно, имеет тот же размер шрифта, что и метка, в которую он помещен. удалив его и показывая на отдельной метке, я также могу установить размер на меньшее, чем метка времени. Еще раз спасибо. – RickiG