【发布时间】:2012-01-02 00:15:29
【问题描述】:
我正在使用 TapkuLibrary 的其他出色的 TKCalendarDayEventView 并尝试选择性地将视图中的一个角变为 StuDev demonstrates here。不幸的是,应用 StuDev 的代码 sn-p 会导致 EventView 完全从其包含的 TKCalendarDayTimelineView 中消失。我在
中的当前代码下方添加此代码 sn-p+ (id)eventViewWithFrame:(CGRect)frame id:(NSNumber *)id startDate:(NSDate *)startDate endDate:(NSDate *)endDate title:(NSString *)title location:(NSString *)location;
方法。我已经注释掉了在代码中设置边框宽度、颜色或半径的代码。我确保 TKCalendarDayEventView 没有任何超级层,因为 苹果文档警告不要向具有超级层的层添加蒙版:
将蒙版设置为新图层时,必须先将新图层的超图层设置为nil,否则行为未定义。
我也尝试过使用 maskLayer 的 backgroundColor 和 fillColor 属性。我在 TKCalendarDayEventView 中看不到任何可能阻止正确应用此蒙版的内容。我可能做错了什么?
【问题讨论】:
-
我刚刚推出了一个代码文件,作为here 正在发生的事情的演示。 The offending file is here,从第 76 行开始,到第 95 行结束。
-
我下载了您在问题下作为评论发布的测试代码。注释掉屏蔽代码(TKCalendarDayEventView.m 中的第 76-96 行)似乎对视图没有任何影响,因此看起来问题可能出在其他地方。是什么让您怀疑此代码导致了问题?
-
嘿,StuDev!谢谢你的帮助! :) 您没有看到视图差异的原因是时间线应用程序显示 2012 年 1 月 2 日(今天)的事件,其中没有。如果您按后退箭头转到 2012 年 1 月 1 日,可以看到视图的差异,以查看差异。我还向 repo 推送了一个提交,以便默认显示 2012 年 1 月 1 日。拉下那个提交,或者转到 2012 年 1 月 1 日,你就会明白我的意思了。
标签: ios core-animation calayer cashapelayer tapku