Проверьте 24-часовой режим или режим AM/PM для использования с UIDatePicker.

У меня есть граница, которая оборачивает UIDatePicker, чтобы скрыть синий цвет, окружающий его, с помощью пользовательского представления. Я знаю, что в режиме времени невозможно установить его как средство выбора даты AM/PM или как средство выбора даты 24 часа. . Мне интересно, как я могу узнать, на что он в настоящее время установлен, чтобы я мог настроить свою границу вокруг этого, поскольку они оба разных размеров.


person Andrew    schedule 24.03.2012    source источник


Ответы (1)


Это довольно просто, вы должны проверить, являются ли AMSymbol и PMSymbol «NSNotFound» в myDateString:

+(BOOL) is24h {
  NSDateFormatter *myFormatter = [[NSDateFormatter alloc] init];
  [myFormatter setLocale:[NSLocale currentLocale]]; 
  [myFormatter setDateStyle:NSDateFormatterNoStyle]; 
  [myFormatter setTimeStyle:NSDateFormatterShortStyle]; 

  NSString *myDateString = [myFormatter stringFromDate:[NSDate date]]; 
  NSRange myAmRange = [myDateString rangeOfString:[myFormatter AMSymbol]]; 
  NSRange myPmRange = [myDateString rangeOfString:[myFormatter PMSymbol]]; 

  return (myAmRange.location == NSNotFound && myPmRange.location == NSNotFound);
}
person Giorgio Marziani de Paolis    schedule 24.03.2012