我正在创建一个动画 UIButton 来模拟插页式横幅,但它没有收到事件 UIControlEventTouchUpInside。这是我的代码:
-(void)insertInterstitialBannerAtView:(UIView *)mainView {
if ([self bannerExists]) {
bannerButton = [UIButton buttonWithType:UIButtonTypeCustom];
[bannerButton setFrame:CGRectMake(0, 480, 320, 43)];
[bannerButton setImage:[UIImage imageNamed:@"389.png"] forState:UIControlStateNormal];
[bannerButton setEnabled:YES];
[mainView addSubview:bannerButton];
[mainView bringSubviewToFront:bannerButton];
[bannerButton addTarget:self
action:@selector(buttonPushed)
forControlEvents:UIControlEventTouchUpInside];
[UIView animateWithDuration:2.0
animations:^(void) {
[bannerButton setFrame:CGRectMake(0, 417, 320, 43)];
}
completion:^(BOOL finished) {
[UIView animateWithDuration:2.0 delay:3.0 options:UIViewAnimationTransitionNone animations:^(void){
[bannerButton setFrame:CGRectMake(0, 480, 320, 43)];
}
completion:^(BOOL finished) {
}];
}];
}
}
-(IBAction)buttonPushed{
NSLog(@"Interstitial Pushed");
}
-(BOOL)bannerExists{
BOOL returnValue = FALSE;
NSArray *names = [URLFORSPLASH componentsSeparatedByString:@"/"];
NSString *fileName = [names lastObject];
NSString *cacheFolder = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
NSString *filePath = [cacheFolder stringByAppendingPathComponent:fileName];
if ([[NSFileManager defaultManager]fileExistsAtPath:filePath] ) {
returnValue = TRUE;
}
return returnValue;
}
有人知道出了什么问题吗?
问候,克劳迪奥