Проверете за 24-часов режим или режим AM/PM, за използване с UIDatePicker

Имам граница, която се увива около UIDatePicker, за да скрие синьото около него с персонализиран изглед.. Наясно съм, че в режим на време не е възможно да го настроя като конкретно AM/PM datepicker или като 24-часов datepicker . Чудя се обаче как да открия на какво е зададено в момента, за да мога да коригирам границата си около това, тъй като и двата са с различни размери.


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