كيف يمكنني تحميل طريقة عرض بناءً على المدة التي أحمل فيها Uibultton؟
-
22-09-2019 - |
سؤال
أنا أعمل على تطبيق iOS حيث أرغب في تحميل عرض واحد إذا تم عقد Uibultton لمدة X Seconds ، وآخر إذا تم عقده لمدة ثواني ، وما إلى ذلك. المشكلة التي أركض فيها هي ، كيف يمكنني تبديل طول الزر الضغط؟ قام البرنامج التعليمي بتبديل عدد الصنابير.
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
NSSet *allTouches = [event allTouches];
switch ([allTouches count])
{
case 1: // Single touch
{
// Get the first touch.
UITouch *touch = [[allTouches allObjects] objectAtIndex:0];
switch ([touch tapCount])
{
case 1: // Single Tap.
{
// Start a timer
timer = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(showAlertView:) userInfo:nil repeats:NO];
[timer retain];
}
break;
case 2: // Double tap.
break;
}
}
break;
case 2: // Double touch
{
}
break;
default:
break;
}
}
أي اقتراحات؟
المحلول
حصلت على إجابتي. لقد بدأت للتو nstimer في حدث لمس ، وتوقفت عن اللمس في الداخل.
// TRP - On Touch Down event, start the timer
-(IBAction) startTimer
{
self.time = 0;
// TRP - Start a timer
timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(updateTimer) userInfo:nil repeats:YES];
[timer retain]; // TRP - Retain timer so it is not accidentally deallocated
}
// TRP - Method to update the timer display
-(void)updateTimer
{
time++;
NSLog(@"Seconds: %i ", time);
if (15 == self.time)
[timer invalidate];
}
// TRP - On Touch Up Inside event, stop the timer & display results
-(IBAction) btn_MediaMeterResults
{
[timer invalidate];
NSLog(@"time: %i ", self.time);
ResultsViewController *resultsView = [[ResultsViewController alloc] initWithNibName:@"ResultsViewController" bundle:nil];
// TRP - The following line is passing the "time" variable from MediaMasterViewController to ResultsViewController
resultsView.time = self.time;
[self.view addSubview:resultsView.view];
}
نصائح أخرى
استخدم فئة UilongPressUrgeReCOTERECOONIZER. قامت Apple بتوثيق هذا في 3.2 -http://developer.apple.com/iphone/prerlease/library/documentation/general/conptual/ipadprogrammingguide/gensuresupport/gensuresupport.html#//apple_ref/doc/uid/tp4000930-ch5-sw1
لا تنتمي إلى StackOverflow