2016-01-11 8 views
1

Я пытаюсь создать пользовательский календарь/месяц вид с нуля, похожее на это:Создание пользовательского календаря/месяц вид в прошивкой

enter image description here

И с этим я задаюсь вопросом, что правильный подход было бы. Я подсчитываю, какой будний день наступает первый день месяца (mon-sun) и количество дней в месяце. Этого должно быть достаточно, чтобы определить, как должен выглядеть календарь, но я застрял, пытаясь понять, как все это выложить.

Лучше всего иметь 37 кнопок в виде сетки в раскадровке и как-то перебирать их, менять свою метку или динамически создавать эти кнопки на лету? Есть ли какой-либо элемент/фреймворк в iOS, который я мог бы использовать, чтобы упростить этот процесс?

Если вы собираетесь использовать последний, как бы вы установили ограничения, чтобы сделать это масштабируемым на разных классах размеров и размерах экрана?

+2

Вы можете использовать UICollectionView. Он поставляется с хорошими методами, чтобы поместить повторно код для каждой кнопки дня. – Tim

+0

@ Похоже, что 'UICollectionView' - это, наверное, самый путь! Я кратко подумал об этом сам, но немного застрял в мысли о фиксированной сетке, используя автоматическую компоновку. Спасибо, что вернули меня в правильном направлении. К сожалению, вы не поставили это как вопрос, поэтому я не могу принять его в качестве ответа. Однако я дам вам преимущество. – Aleksander

+0

Нет проблем. Одна из трудностей, с которыми я столкнулась, заключалась в том, что мне нужно было установить верстку по вертикали, чтобы получить числа в макете по строкам, а затем вниз. Но это также приводит к тому, что collectionView также попадает в вертикальное положение. Поэтому я создал своих собственных слушателей жестов, чтобы коснуться боком. Удачи! – Tim

ответ

1

Тим в первом комментарии является правильным. Лучшим способом создания макета для пользовательского вида календаря, такого как ваш, является UICollectionView.
Также, чтобы сделать меньше ошибок, вы можете использовать расширения NSDate, подобные этому: https://github.com/erica/NSDate-Extensions

+0

Как и Тим в комментариях, «UICollectionView», безусловно, путь. Спасибо, что указал мне в правильном направлении! – Aleksander