【发布时间】:2012-02-17 14:40:11
【问题描述】:
今天我遇到了一个奇怪的问题。我有一个适用于 iPhone 和 iPad 的应用程序,它是一个通用应用程序,但是我制作了两个主视图控制器,一个用于 iPhone,一个用于 iPad。我先做了 iPhone 版本...然后我将一些代码复制到 iPad 版本。除了我的徽标 UIImageView 之外,一切似乎都运行良好。我有一个标志,它从屏幕外滑到导航栏的中心。在动画之前,我将 UIImageView 设置为关闭屏幕,因此它可以向下滑动。但是,即使我在 uiimageview 框架的 x 和 y 中放入任何随机值,它仍然是 0、0。这与我在 iPhone 上的代码相同,并且可以正常工作。
这是我的初始化。
UIImage *logoText = [UIImage imageNamed:@"logotext.png"];
[logoTextView setUserInteractionEnabled:YES];
logoTextView = [[UIImageView alloc] init];
// I already tried [[UIImageView alloc] initWithFrame:CGRectMake......];
logoTextView.frame = CGRectMake(389, -100, logoText.size.width, logoText.size.height);
logoTextView.image = logoText;
logoTextView.center = CGPointMake(389, -100);
logoTextView.alpha = 1;
[logoTextView addGestureRecognizer:resetGesture];
// [logoTextView setBackgroundColor:[UIColor whiteColor]];
[self.view insertSubview:logoTextView atIndex:10];
这实际上应该将 UIImageView 定位在中心并离开屏幕 100 像素。但什么也没有发生。它仍然是 0、0。我尝试了所有我知道的方法,但没有任何效果......
有人知道,该怎么办吗?这真的会帮助我。 :)
编辑
我刚刚找到了解决方案……我不知道为什么,但这只有在采用新方法时才有效……很奇怪。
- (void)logoShow {
UITapGestureRecognizer *resetGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(resetValues)];
UIImage *logoText = [UIImage imageNamed:@"logotext@2x.png"];
logoTextView = [[UIImageView alloc] initWithFrame:CGRectMake(389, -50, logoText.size.width/1.35, logoText.size.height/1.35)];
logoTextView.center = CGPointMake(389, -50);
logoTextView.image = logoText;
logoTextView.alpha = 1;
[logoTextView addGestureRecognizer:resetGesture];
[self.view insertSubview:logoTextView atIndex:15];
// LOGO TEXT ANIMATION
[UIView beginAnimations:@"Logo Text Animation" context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
[UIView setAnimationDelay:4.5];
[UIView setAnimationDuration:0.5];
logoTextView.alpha = 1;
logoTextView.center = CGPointMake(389, 22);
[UIView commitAnimations];
[logoTextView setUserInteractionEnabled:YES];
}
【问题讨论】:
-
这不是解决方案,但
-initWithFrame:是UIView和子类的指定初始化程序,而不是init。 -
谢谢,我已经试过了。也不起作用:/
-
好吧,我说这不是一个解决方案,但我相信这是一个很好的做法。
标签: objective-c ios xcode ipad uiimageview