在ios中經常會用到滑動篩選的功能,如下:
利用uiscrollview控制項可以實現上述功能,思路大致是:建立乙個uiview,寬度為螢幕寬度320,高度為以上圖的背景圖高度,在uiview上新增乙個 uiscrollview寬度為乙個型別的寬度,設定uiscrollview自動停止滾動,設定兩邊被遮蓋的區域可見,將型別新增到uiscrollview中,並設定他們的位置,這樣效果是有了,但是這個時候只能在uiscrollview上滑動,即上圖中間一塊區域,要實現兩邊都可以滑動,需要重寫uiview 的hittest,將uiview兩邊的滑動事件交給uiscrollview即可。當然這樣也可以實現類似safari瀏覽器的多試圖切換的效果。下面直接上示例**:
topscrollview.h的**如下:
#import
@protocol
topscrollviewdelegate;
@inte***ce
topscrollview : uiview
@property(retain,nonatomic)
uiscrollview
*scrollview;
@property(retain,nonatomic)id<
topscrollviewdelegate
> delegate;
@end
@protocol topscrollviewdelegate
@required
//uiscrollview 滑動結束事件**
- (void)topscrollview:(topscrollview *)foodtopview pageindex:(nsinteger)pageindex;
@end
topscrollview.m **
#import "topscrollview.h"
const
cgfloat topscrollobjheight = 38.0;
const
cgfloat topscrollobjwidth = 101.0;
const
nsuinteger topnumimages = 6;
@implementation topscrollview
@synthesize scrollview;
@synthesize delegate=_delegate;
//設定uiscrollview子試圖的frame和可滾動區域
- (void)layouttopscrollimages
}[scrollviewsetcontentsize:cgsizemake((topnumimages* topscrollobjwidth), [scrollviewbounds].size.height)]; }
- (id)initwithframe:(cgrect)frame
[self
addsubview:scrollview];
[scrollviewrelease];
[title release];
[self
layouttopscrollimages]; }
returnself; }
//這裡將整個uiview區域的事件都交給uiscrillview
- (uiview *)hittest:(cgpoint)point withevent:(uievent *)event
return [super
hittest:point withevent:event];
}- (void)dealloc
//滑動結束,即型別切換時更新內容
- (void)scrollviewdidenddecelerating:(uiscrollview *)scrollview
}@end
iOS 利用pod trunk發布程式
註冊如 pod trunk register qq.com hans description hans 隨後出現下面提示,到郵件驗證 the verification email that has been sent to qq.com 檢視個人資訊 name hans email qq.com s...
ios 利用NSStream模擬請求http資料
利用socket來模擬傳送http請求有以下幾步 1.先建立連線 設定連線的站點和埠號 self requesturldata www.tf56.com portno 80 此處建立連線的時候,我們給網路的入口和出口分別建立了乙個runloop,在此迴圈監聽資料流事件的到來。inputstream ...
IOS利用Core Text對文字進行排版
2011 12 08 11 10 core text 這個包預設是沒有的,要自己手動新增進來。在ios中利用core text對文字進行排版的幾個關鍵點如下 字間距 kctkernattributename 行間距 kctparagraphstylespecifierlinespacingadjus...