Re: Tracking Multiple Touches For Appropriate Label
Re: Tracking Multiple Touches For Appropriate Label
- Subject: Re: Tracking Multiple Touches For Appropriate Label
- From: mmalc Crawford <email@hidden>
- Date: Tue, 08 Dec 2009 14:24:51 -0800
On Dec 8, 2009, at 12:33 pm, mmalc Crawford wrote:
Get the logic right...
> - (void)setUpTouchHandling {
>
> touchToLabelMapping = CFDictionaryCreateMutable (kCFAllocatorDefault, 5, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
> availableLabels = [[NSMutableArray alloc] initWithObjects:touchLabel1, touchLabel2, touchLabel3, touchLabel4, touchLabel5, nil];
> }
>
- (void)setUpTouchHandling {
touchToLabelMapping = CFDictionaryCreateMutable (kCFAllocatorDefault, 5, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
availableLabels = [[NSMutableArray alloc] initWithObjects:touchLabel1, touchLabel2, touchLabel3, touchLabel4, touchLabel5, nil];
setUp = YES;
}
... and improve the user experience accordingly:
> - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
>
> for (UITouch *touch in touches) {
> if (touch.view == self) {
> UILabel *label = (UILabel *)CFDictionaryGetValue(touchToLabelMapping, touch);
> label.text = @"{0, 0}";
> CFDictionaryRemoveValue (touchToLabelMapping, touch);
> [availableLabels addObject:label];
> }
> }
> }
>
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
for (UITouch *touch in touches) {
if (touch.view == self) {
UILabel *label = (UILabel *)CFDictionaryGetValue(touchToLabelMapping, touch);
label.text = @"{0, 0}";
CFDictionaryRemoveValue (touchToLabelMapping, touch);
[availableLabels insertObject:label atIndex:0];
}
}
}
(I'm using setUpTouchHandling so that this will work however you configure your view or view controller -- ideally you choose a more appropriate initialisation locus.)
mmalc
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden