IOS 利用UIScrollview實現滑動篩選

2021-09-01 05:21:22 字數 1876 閱讀 4009

在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...