How can you switch from using one UIButton to another while still holding down finger?

Viewed 277

Imagine your keyboard. Imagine yourself placing one finger down one key, then (while holding down) moving your finger all the way across to another key on the keyboard. Now, imagine that each key on the keyboard is a UIButton. when you are holding your finger on the current key, this key (UIButton) is highlighted. Then, when the user moves across to another key, the first key is no longer highlighted, and the current key that is pressed down, is highlighted.

Now, I have a 6 x 8 grid of UIButtons each 53 x 53 pixels. So, I have 48 UIButtons. I want to replicate this kind of idea. The button that the users finger is upon, will have a image that is slightly lighter (to look selected like), and all others will will not be slightly lighter.

Here is my idea of how to go about this,

1) Create all 48 UIButtons in viewDidLoad. Add the lighter image to UIControlStateHighlighted for all UIButtons.

2) Add some sort of target for touchUpOutside that somehow makes the current button not highlighted and not usable. (maybe set the highlighted and userInteractionEnabled to no). But then how can I tell the next button to be used? And how can I say that I want the specific UIButton that the users fingers are under to become highlighted and in use to detect gestures and stuff.

Also, this touchUpOutside method may not work because all the buttons are right next to each other, and I think you have to drag far out to run this touchUpOutside.

It's also important to note that the buttons are not placed in equal rows and columns. Sometimes one button will actually be a UIImage but look like a UIButton. So, doing some sort of fast enumeration comparing frames for some reason will not work.

2 Answers
Related