尝试在加载视图时在按钮上制作动画所以我在ViewDidLoad中编写以下代码
ScanBtnVIEW.alpha=0;
ScanBtnVIEW=[[UIView alloc]initWithFrame:CGRectMake(78,-10,164,164)];
[self startAnimation];
然后在viewDidLoad之外我实现了StartAnimation方法,如下所示
-(void)startAnimation{
[UIView animateWithDuration:1.0
delay:0.0
options: UIViewAnimationOptionCurveLinear
animations:^{
ScanBtnVIEW.alpha=1;
//ScanBtnVIEW=[[UIView alloc]initWithFrame:CGRectMake(78,260,164,164)];
ScanBtnVIEW.frame = CGRectMake(78,260,164,164);
}
completion:^(BOOL finished){
NSLog(@"Done!");
}];
}
但实际上从App加载视图后,按钮没有出现。 请注意,我将按钮放在imageView中,以便我可以轻松地应用动画。 任何人都可以帮忙解决这个问题,我将不胜感激
答案 0 :(得分:1)
在动画块中,您重新分配了 ScanBtnView 。
你可以试试这个:
ScanBtnVIEW.frame = CGRectMake(78,260,164,164)];
答案 1 :(得分:0)
在加载视图时尝试在按钮上制作动画
别。加载视图就是:加载视图。所有发生的事情是视图控制器已获得self.view
。没有暗示视图即将出现在接口中,事实上它可能不是。开始设置动画的时间是视图出现在界面中,例如viewDidAppear:
。
ScanBtnVIEW=[[UIView alloc]initWithFrame:CGRectMake(78,-10,164,164)];
很好,所以你做了一个UIView。但你从来没有把 放在界面中!所以当然你永远不会看到它。你基本上只是创建它然后把它放在地板上。有什么意义呢?
ScanBtnVIEW.alpha=0;
ScanBtnVIEW=[[UIView alloc]initWithFrame:CGRectMake(78,-10,164,164)];
哦,太好了。所以现在你已经知道你已经拥有一个名为ScanBtnView的视图。但是之后你把那个扔掉了,并用你创建的完整的新视图替换了它(alloc
),然后你把它放在了地板上! 那个有多奇怪?
很可能,你想说:
ScanBtnVIEW.alpha=0;
ScanBtnVIEW.frame = CGRectMake(78,-10,164,164)];