我阅读了Apple的核心动画介绍,搜索了所有的'ios补间','ios缓和'以及相关的东西,但令人惊讶的是空手而归。
如何在保持UILabel显示的同时制作我的UILabel合约并隐藏其子视图按钮?链接,代码,设计概述或完成任务的任何内容都将非常有用。
答案 0 :(得分:0)
惊讶没有人踩到这个,答案很简单。但也许这就是原因。
我不确定UILabel本身的动画,虽然因为它是UIView的子类,我怀疑它是相当正常的。
完成此操作的最简单方法是使用UIView静态方法:
+ (void)animateWithDuration:(NSTimeInterval)duration
animations:(void (^)(void))animations
就我而言,我有一个UILabel,myLabel
位于UIVut myContainer
之上,带有UIButton dismissButton
。假设我想要dismissButton
,点击后,汇总myContainer
我会将我的dismissButton
按钮拖到正确的viewController.m
和-(IBAction)
方法中:
-(IBAction)dismissButtonPressed:(id)sender
{
[UIView animateWithDuration:1.0
animations:^{
[self.myContainer.frame = CGRectMake(0,0,frame.bounds.size.width,20)];
[self.dismissButton removeFromSuperView]; }];
}
注意:这是我有限的记忆,所以指出任何错误。
注意2:如果您使用它来帮助自己,观看那些分号,括号和大括号
现在,大多数读这篇文章以供参考的人可能想要更多功能,点击一个永远卷起视图的按钮。有更详细的animateWith *方法。
有
+(void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion
允许在视图完成动画后完成完成块。 Paul Hegarty的iOS课程注意事项:您可以从完成块中调用更多动画方法。
还有另一种动画方法可让我们指定动画选项。
+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion
选项包括:
enum {
UIViewAnimationOptionLayoutSubviews = 1 << 0,
UIViewAnimationOptionAllowUserInteraction = 1 << 1,
UIViewAnimationOptionBeginFromCurrentState = 1 << 2,
UIViewAnimationOptionRepeat = 1 << 3,
UIViewAnimationOptionAutoreverse = 1 << 4,
UIViewAnimationOptionOverrideInheritedDuration = 1 << 5,
UIViewAnimationOptionOverrideInheritedCurve = 1 << 6,
UIViewAnimationOptionAllowAnimatedContent = 1 << 7,
UIViewAnimationOptionShowHideTransitionViews = 1 << 8,
UIViewAnimationOptionCurveEaseInOut = 0 << 16,
UIViewAnimationOptionCurveEaseIn = 1 << 16,
UIViewAnimationOptionCurveEaseOut = 2 << 16,
UIViewAnimationOptionCurveLinear = 3 << 16,
UIViewAnimationOptionTransitionNone = 0 << 20,
UIViewAnimationOptionTransitionFlipFromLeft = 1 << 20,
UIViewAnimationOptionTransitionFlipFromRight = 2 << 20,
UIViewAnimationOptionTransitionCurlUp = 3 << 20,
UIViewAnimationOptionTransitionCurlDown = 4 << 20,
UIViewAnimationOptionTransitionCrossDissolve = 5 << 20,
UIViewAnimationOptionTransitionFlipFromTop = 6 << 20,
UIViewAnimationOptionTransitionFlipFromBottom = 7 << 20,
};
typedef NSUInteger UIViewAnimationOptions;
希望有人可以从这个长篇小说中获益,为UIView制作动画。