正方形の 4x4 グリッドを作成したい (各正方形はスペースで区切られている)。ユーザーがある四角形から別の四角形に指をパンすると、四角形を強調表示し、四角形の間に線を引きます (それらが接続されていることを示すため)。
GridView カスタム UIView と 16 個の子 GridElement カスタム UIView を 4x4 として作成しました。パン ジェスチャを使用して四角と線を選択します。それは正しい進め方ですか?
返信ありがとうございます。だから私はあなたが提案したことを試しました。ここで、UIControl の個々のグリッド スクエア サブクラスを作成し、それを含むビューがそれらのアクションのターゲットになります。私の含まれているビューは、UIView のサブクラスです。含まれているビューは UIControlEventTouchDown イベントを受け取りますが、UIControlEventTouchDragExit または (Enter) を受け取りません。
- (void) sendAction:(SEL)action to:(id)target forEvent:(UIEvent *)event {
[super sendAction:action to:target forEvent:event];
}
- (void) sendActionsForControlEvents:(UIControlEvents)controlEvents {
[super sendActionsForControlEvents:controlEvents];
}
- (BOOL) beginTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event {
return YES;
}
- (BOOL) continueTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event {
return YES;
}
私のContainerViewには
[gridElement addTarget:self action:@selector(elementSelected:)forControlEvents:UIControlEventTouchDragEnter];