Как остановить метод viewForAnnotation от переопределения синего маяка расположения пользователя по умолчанию в iOS

Это может быть немного взломанным, но вы можете использовать свойство .DayOfWeek для int (это перечисление, и поскольку его базовый тип данных не изменился по умолчанию на int) и использовать его для определения предыдущего запуска недели.

Кажется, что неделя, указанная в перечислении DayOfWeek, начинается в воскресенье, поэтому, если мы вычтем 1 из этого значения, которое будет равно количеству дней в понедельник до текущей даты. Нам также нужно отобразить воскресенье (0) равным 7, так что 1 - 7 = -6, воскресенье будет отображено в предыдущий понедельник: -

DateTime now = DateTime.Now;
int dayOfWeek = (int)now.DayOfWeek;
dayOfWeek = dayOfWeek == 0 ? 7 : dayOfWeek;
DateTime startOfWeek = now.AddDays(1 - (int)now.DayOfWeek);

Код предыдущего воскресенья проще, чем нам не нужно выполнять эту настройку: -

DateTime now = DateTime.Now;
int dayOfWeek = (int)now.DayOfWeek;
DateTime startOfWeek = now.AddDays(-(int)now.DayOfWeek);
16
задан Hudson Buddy 1 August 2012 в 20:40
поделиться