Я использую TapkuLibrary иначе отличный TKCalendarDayEventView и пытаясь выборочно обойти один из углов в виде StuDev demonstrates here. К сожалению, применение фрагмента кода StuDev приводит к тому, что EventView полностью исчезает из его содержащего TKCalendarDayTimelineView. Я добавляю этот код под текущим кодом вПравильное маскирование CALayers
+ (id)eventViewWithFrame:(CGRect)frame id:(NSNumber *)id startDate:(NSDate *)startDate endDate:(NSDate *)endDate title:(NSString *)title location:(NSString *)location;
метода. Я прокомментировал код, который в противном случае устанавливает ширину, цвет или радиус границы в коде. Я убедился, что TKCalendarDayEventView не имеет superlayers, так как яблочных документы предостерегают от добавления маски слоев с superlayers:
При установке маски на новый слой, superlayer нового слоя первый должен быть установлен на ноль, иначе поведение не определено.
Я также попытался поиграть с backgroundColor и fillColor свойствами maskLayer. Я ничего не вижу в TKCalendarDayEventView, который может остановить эту маску от правильного применения. Что я могу делать неправильно?
Я только что нажал код в качестве демонстрации того, что происходит [здесь] (https://github.com/aashidham/TapkuCalDemo). [Нарушительный файл здесь] (https://github.com/aashidham/TapkuCalDemO/blob/master/TKCalendarDayEventView.m), начиная с строки 76 и заканчивая в строке 95. – Coder
Я загрузил тестовый код, который вы разместили как комментарий по вашему вопросу. Комментирование кода маскировки (строки 76-96 в TKCalendarDayEventView.m), похоже, не оказывает никакого влияния на представление, и, следовательно, проблема может оказаться в другом месте. Что заставило вас подозревать, что этот код вызывает проблему? – Stuart
Эй, StuDev! Спасибо за вашу помощь! :) Причина, по которой вы не видите разницы в представлениях, заключается в том, что приложение временной шкалы отображает события 2 января 2012 года (сегодня), которых нет. Разница в взглядах видна, если вы нажмете стрелку назад, чтобы перейти к 1 января 2012 года, чтобы увидеть разницу. Я также нажал фиксацию на репо, так что 1 января 2012 года отображается по умолчанию. Потяните это сообщение или перейдите на 1 января 2012 года, и вы увидите, что я имею в виду. – Coder