2

我正在开发一个 i-phone 应用程序,当您按下按钮时,UITableView 会下拉。我想推动/动画按钮下方的对象,以便它们位于表格视图下方。

对于需要向下移动的每个标签/文本字段,我需要以下内容:

[UIView beginAnimations: @"anim" context: nil];
[UIView setAnimationBeginsFromCurrentState: YES];
[UIView setAnimationDuration:0.3f];
self.view.frame = CGRectOffset(self.view.frame, 0, 70);

任何例子都会有所帮助。

4

4 回答 4

5

在 iPhone OS 4.0 及更高版本中, Apple 推荐基于块的动画方法,例如

+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations

例如。

[UIView animateWithDuration:0.3 
                      delay:0
                    options:UIViewAnimationOptionBeginFromCurrentState
                 animations:(void (^)(void)) ^{
                     self.view.frame = CGRectOffset(self.view.frame, 0, 70);                     }
                 completion:^(BOOL finished){

                 }];
于 2013-08-02T11:39:10.163 回答
0

尝试这个,

[UIView beginAnimations:nil context:nil];    
[UIView setAnimationDuration:0.3];    
[UIView setAnimationDelay:0.3];    
self.view.frame = CGRectOffset(self.view.frame, 0, 70);    
[UIView commitAnimations];    
于 2013-08-02T12:51:42.083 回答
0

因此,将会有一个UITableView从上面到self.view并且您想向下移动self.view中的所有元素,除了UITableView.

将self.view中的所有元素放到与self.view大小相同的容器视图中怎么样?然后您可以一键为所有 UI 元素设置动画

于 2013-08-02T11:25:28.957 回答
0

是的,你错过commitAnimations了风景。

于 2013-08-02T11:27:17.300 回答