1、新建專案usingpagecontrol。刪除mainwindow.xib檔案。 在resources組中新增幾張,在這裡我隨便找了幾張動物的,你也可以另外找幾張。
uiviewcontroller *vc=[[usingpagecontrolviewcontroller alloc]init];
[window addsubview:vc.view];
3、加入框架quartzcore.framework。然後新建類usingpagecontrolviewcontroller,繼承uiviewcontroller。在inte***ce中宣告必要變數:
#import
#import
#import
@inte***ceusingpagecontrolviewcontroller : uiviewcontroller else{
transition=[self getanimation:kcatransitionfromright];
// 取出pageview的下面的作為準備顯示的
uiimageview *newimage=(uiimageview *)[[pageview subviews] objectatindex:0];
// 將檢視修改為要顯示的
[newimagesetimage:[uiimage imagenamed:[pages objectatindex:to]]];
// 將pageview的上下交換
[pageview exchangesubviewatindex:0 withsubviewatindex:1];
// 顯示上面的,隱藏下面的
[[pageview.subviews objectatindex:0] sethidden:yes];
[[pageview.subviews objectatindex:1] sethidden:no];
// 設定轉換動畫
[[pageview layer] addanimation:transition forkey:@"pageturnanimation"];
8、其中getanimation方法根據使用者手指滑動的方向返回catransition轉換動畫:
// 返回乙個轉換動畫
-(catransition *) getanimation:(nsstring *) direction
catransition *animation = [catransition animation];
[animation setdelegate:self];
[animation settype:kcatransitionpush];
[animation setsubtype:direction];
[animation setduration:1.0f];
[animation settimingfunction:[camediatimingfunction functionwithname:kcamediatimingfunctioneaseineaseout]];
return animation;
這是乙個翻頁動畫,通過其subtype屬性設定翻頁從哪邊開始:上、下、左、右4個方向。duration屬性是動畫轉換的時間;timingfunction屬性指定轉換過程中要使用的特效,使用常量字串指定5種不同的效果(但不知什麼原因,在這裡不管設成什麼值,都只有一種效果:淡入淡出)。
程式最終效果如下:
自定義 如何自定義協議
何為自定義協議,其實是相對標準協議來說的,這裡主要針對的是應用層協議 常見的標準的應用層協議如http ftp smtp等,如果我們在網路通訊的過程中不去使用這些標準協議,那就需要自定義協議,比如我們常用的rpc框架 dubbo,thrift 分布式快取 redis,memcached 等都是自定義...
自定義控制項 自定義鐘錶
private context mcontext 畫筆 private paint mpaint 控制項的寬 private int mwidth x方向的圓心座標 private int center 鐘錶的半徑 private int mradio 圓環的寬 private int stroke...
自定義控制項及自定義屬性
自定義控制項在android開發中的重要性,是不言而喻,眾人皆知的。希望通過這二天的學習,能讓大家了解自定義控制項的原理,熟悉自定義控制項的使用步驟,並能寫出一些普通的效果。內容介紹 1 使用系統控制項,實現自定義的效果,案例有 優酷環形選單 廣告條 viewpager 下拉列表 spinner 2...