0

Tapku ライブラリ ( https://github.com/devinross/tapkulibrary ) のカレンダー ビューを使用し、それを UIActionSheet に埋め込みます。これは、既存の UIDatePicker の代替手段です。

私が抱えている問題は、選択した月が 6 週間にまたがる場合、一番下の行が からのタッチを取得せず、とtouchesBeganでそれらを取得することです。touchesEndedtouchesMoved

2013 年 5 月 - 5 週間 http://imageshack.us/a/img62/6280/iossimulatorscreenshot2.png 2013 年 6 月 - 6 週間 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}

ターゲット ビューのフレームは正しく見えますが、他に何が欠けているのでしょうか?

4

1 に答える 1

0

最終的に、サイズが正しく変更されず、この矛盾を引き起こしたのは、カレンダーのスーパービューのフレームでした。デフォルトのUIViewプロパティclipsToBoundsはであるためNO、ビューが小さすぎてコンテンツに収まらない場合でも、コンテンツは表示されますが、境界外でのユーザー操作は許可されません。

于 2013-02-21T16:29:24.587 に答える