
[UIVIEw beginAnimations:@"animateAddContentVIEw" context:nil];[UIVIEw setAnimationDuration:0.4];customVIEw.frame= CGRectMake(self.vIEw.frame.origin.x +5,self.vIEw.frame.origin.y +5,150);[self.vIEw addSubvIEw:customVIEw];customVIEw.frame= CGRectMake(self.vIEw.frame.origin.x +5,310,150);[UIVIEw commitAnimations];
我也尝试只将setFrame部分放在动画中,如下所示:
customVIEw.frame= CGRectMake(self.vIEw.frame.origin.x +5,150);[self.vIEw addSubvIEw:customVIEw];[UIVIEw beginAnimations:@"animateAddContentVIEw" context:nil];[UIVIEw setAnimationDuration:0.4];customVIEw.frame= CGRectMake(self.vIEw.frame.origin.x +5,150);[UIVIEw commitAnimations];
但它仍然不行!
编辑:
根据建议,我已将其移动到基于块的动画解决方案,这是确切的代码:
NSLog(@"yourvIEw : %@",customVIEw);customVIEw.frame= CGRectMake(self.vIEw.frame.origin.x +5,150);NSLog(@"yourvIEw : %@",customVIEw);[self.vIEw addSubvIEw:customVIEw];NSLog(@"yourvIEw : %@",customVIEw);// [customVIEw setFrame:CGRectMake( 0.0f,480.0f,customVIEw.frame.size.wIDth,customVIEw.frame.size.height)];[UIVIEw animateWithDuration:0.4 delay:0 options:UIVIEwAnimationCurveEaseInOut animations:^ { NSLog(@"yourvIEw : %@",customVIEw); customVIEw.frame = CGRectMake(self.vIEw.frame.origin.x +5,150); NSLog(@"yourvIEw : %@",customVIEw); }completion:^(BOol finished) { }]; 由于某种原因,这仍然不起作用。我看到的可能问题是:
>我正在加载这个customVIEw从一个笔尖,特别是310乘以150,也许这是一个问题。
>我没有导入正确的框架,但是由于我可以对这个视图的frame.origin部分进行动画处理,我不知道是这样的…我有QuartzCore和Core Graphics都导入和填充。
在日志中的每个点,它提供正确的内容:例如,在目标帧之前,大小为0,150,并且在我将帧设置为310,150之后,但是动画不起作用!
解决方法 为了使视角“成长”到位,不要动画框架。动画转换。从笔尖加载您的子视图。将其变换设置为0:
vIEw.transform = CGAffinetransformMakeScale(0,0);
然后将其添加到您的超级视图。
在动画块内,将变换设置为身份:
vIEw.transform = CGAffinetransformIDentity;
而视图将会增长到正常的大小。您可能需要调整锚点,使其从正确的点成长。
您还可以更改块内的框架,但是仅移动视图我更喜欢更改中心属性,如果还有变换,则不应该尝试设置框架。
对于奖励积分,您还可以将其动画化为略大于1.0的比例,然后在完成块中链接的动画中动画回到身份转换。这使得视图“d出”出来,就像一个警报视图。
总结以上是内存溢出为你收集整理的ios – 如何在Xcode中激活UIView的宽度和高度?全部内容,希望文章能够帮你解决ios – 如何在Xcode中激活UIView的宽度和高度?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)