我正在使用Tapku库中的日历视图(https://github.com/devinross/tapkulibrary)并将其嵌入到UIActionSheet中 - 替代现有的UIDatePicker。
我遇到的麻烦是当所选月份跨越6周时,最后一行不会从touchesBegan
获取任何触摸,但会在touchesEnded
和touchesMoved
中选择它们
May 2013 - 5 weeks http://imageshack.us/a/img62/6280/iossimulatorscreenshot2.png June 2013 - 6 weeks http://imageshack.us/a/img41/6280/iossimulatorscreenshot2.png 所以在上面的截图中,从6月30日开始的行没有任何接触,除非它们来自该行之上的某个地方,然后进入它。
我认为某些地方的边界或框架设置不正确,我尝试输出一些关于我在最后一行touchesEnded
收到的触摸的信息并得到:
$0 = 0x1f869670 <UITouch: 0x1f869670> phase: Ended tap count: 1
window: <_UIAlertOverlayWindow: 0x1e56b1e0; frame = (0 0; 320 568); layer = <UIWindowLayer: 0x1e56b300>>
view: <TKCalendarMonthTiles: 0x1f86b6d0;
frame = (0 1; 320 265); layer = <CALayer: 0x1f872fb0>>
location in window: {67, 551.5} previous location in window: {67, 550}
location in view: {67, 247.5} previous location in view: {67, 246}
目标视图的框架看起来是否正确,还有什么可能缺失?
答案 0 :(得分:0)
最终,日历的超级视图的框架没有正确调整大小并导致这种不一致。需要注意的是,由于默认UIView
属性clipsToBounds
为NO
,因此视图太小而无法显示其内容仍会显示内容,但不允许用户在其边界之外进行交互。< / p>