IOS開發(fā)實例 View實現(xiàn)動畫效果
IOS開發(fā)實例 View實現(xiàn)動畫效果是本文要介紹的內(nèi)容,在ios應(yīng)用中,經(jīng)??梢钥吹揭粋€點擊一個按鈕,一個視圖漸漸彈出,在一點按鈕,視圖慢慢縮回去。這個動畫效果在ios中經(jīng)常使用,下面是我寫的一個小例子,界面效果如下:
具體的實現(xiàn)過程如下:
創(chuàng)建工程。
利用Interface Builder添加一個按鈕和一個視圖,把視圖底色換一個顏色。
在頭文件中進行聲明:
- #import <UIKit/UIKit.h>
- @interface ipad_scrollViewViewController : UIViewController {
- IBOutlet UIButton *myButton;
- UILabel *tableView;
- IBOutlet UIView *myView;
- }
- @property(nonatomic,retain) UIButton *myButton;
- @property(nonatomic,retain) UIView *myView;
- -(IBAction)onClickButton:(id)sender;
- @end
- 把IB中的組件和相關(guān)對象相連接。
- 實現(xiàn)具體的代碼:
- #import "ipad_scrollViewViewController.h"
- @implementation ipad_scrollViewViewController
- @synthesize myButton,myView;
- - (void)viewDidLoad {
- [super viewDidLoad];
- }
- - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
- return YES;
- }
- - (void)didReceiveMemoryWarning {
- [super didReceiveMemoryWarning];
- }
- - (void)viewDidUnload {
- self.myButton=nil;
- self.myView=nil;
- }
- - (void)dealloc {
- [self.myView release];
- [self.myButton release];
- [super dealloc];
- }
- -(IBAction)onClickButton:(id)sender
- {
- CGContextRef context = UIGraphicsGetCurrentContext();
- [UIView beginAnimations:@"Curl" context:context];
- [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
- [UIView setAnimationDuration:0.5];
- CGRect rect = [myView frame];
- CGRect rect1=[myButton frame];
- if (rect.origin.x>0) {
- rect.origin.x = 26.0f – rect.size.width;
- rect1.origin.x=267.0f- rect.size.width;
- }else {
- rect.origin.x = 26.0f;
- rect1.origin.x=267.0f;
- }
- [myButton setFrame:rect1];
- [myView setFrame:rect];
- [UIView commitAnimations];
- }
- @end
源代碼:http://easymorse-iphone.googlecode.com/svn/trunk/ipad.scrollView/
上述代碼雖然可以實現(xiàn)視圖的移動,但是有一個問題沒有實現(xiàn),就是一個視圖如果在屏幕中間,不能實現(xiàn)點擊一個按鈕,從無到有而且是從一側(cè)移到另一側(cè)的動畫。
小結(jié):IOS開發(fā)實例 View實現(xiàn)動畫效果的內(nèi)容介紹完了,希望本文對你有所幫助。