1. 程式人生 > >iOS中UIScrollView和UIPageControl的使用

iOS中UIScrollView和UIPageControl的使用

        一. UIScrollView 是 iPhone中的一個重要試圖,系統為我們提供了一個方法,使能夠在一個介面中看到所有的內容,從未不必擔心因為螢幕的大小有限,必須要翻到下一頁進行閱覽.對使用者來說是一個很好的體驗.對學習者來說,能夠使用好UIScrollView滾動檢視,是一個進步.

下面我列出了幾個滾動檢視的常用屬性和方法:

1.pagingEabled    //BOOL 值,設定/讀取試圖滾動時是否為翻頁效果.

2.scrollEnabled    //BOOL 值,讀取/設定圖片檢視是否能夠與使用者互動,響應使用者事件.預設是: NO.

3.showsHorizontalScrollIndicator   //BOOL 值,讀取/設定是否顯示水平滾動條.

4.indicatorStyle    //讀取/設定滾動條的樣式.

5.contentSize      //內容區域大小.要想出現滾動效果,UIScrollView 的此屬性必須大於其Frame 屬性.

6.contentOffset //檢視左上⾓角距離座標原點的偏移量

具體的UIScrollView 使用操作如下:

//建立一個UIScrollView物件

UIScrollView *scroll = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 20, self.view.frame.size.width, 400)];

//設定播放檢視的內容大小

    scroll.contentSize

=CGSizeMake(scroll.frame.size.width *3, 0);

//設定偏移量,通過修改偏移量,可以設定哪一張圖為顯示的第一張的圖片

    scroll.contentOffset = CGPointMake(0,0);

//設定整屏翻動

    scroll.pagingEnabled = YES;

//設定顯示水平和垂直滾動條

    scroll.showsHorizontalScrollIndicator = YES;

    scroll.showsVerticalScrollIndicator  = YES;

//設定圖片的放大縮小的倍數

    scroll.minimumZoomScale

= 0.5f;

    scroll.maximumZoomScale = 2.0f;

//設定此屬性後,滾動內容講義頁為單位進行滾動

scroll.pagingEnabled = YES;

//將滾動檢視新增到主檢視上

[self.viewaddSubview:scroll];

    [_scroll release];

二. UIPageControl 分頁控制元件

當用戶介面需要按頁面顯示的時候,使用iOS提供的UIPageControl控制元件將要顯示的使用者將要顯示的使用者介面內容分頁進行顯示回事程式設計工作變得非常快捷.

UIPageControl 的重要屬性和方法

1.numberOfPages //總頁數

2.currentPage //當前頁碼

3.UIControlEventValueChanged //事件.使用者點選頁面控制元件,會觸發此事件.

屬性和方法的具體操作實現:

//建立UIPageControl 物件

UIPageControl *page =[[UIPageControlalloc]initWithFrame:CGRectMake(0, 400, self.scroll.frame.size.width, 20)];

   //設定背景顏色

[page setBackgroundColor:[UIColorgrayColor]];

//設定總頁數為3

    page.numberOfPages = 3;

//為UIPageControl控制元件新增事件

    [page addTarget:selfaction:@selector(pageAction:) forControlEvents:UIControlEventValueChanged];

//將分頁控制元件新增到主檢視中

    [self.view addSubview:_page];

    [page release];

//新增事件

-(void)pageAction:(id)sender{

UIPageControl *page = (UIPageControl *)sender;

CGFloat  value = page.currentPage *self.view.frame.size.width;

   [_scrollsetContentOffset:CGPointMake(value, 0) animated:YES];

}


相關推薦

iOSUIScrollViewUIPageControl的使用

        一. UIScrollView 是 iPhone中的一個重要試圖,系統為我們提供了一個方法,使能夠在一個介面中看到所有的內容,從未不必擔心因為螢幕的大小有限,必須要翻到下一頁進行閱覽.對使用者來說是一個很好的體驗.對學習者來說,能夠使用好UIScrollVi

使用UIScrollViewUIPageControl做一個能夠用手勢來切換圖片的效果

file ide ole sed 圖片 self. ech wsh object 利用UIScrollView的滾動效果來實現,先上圖: 實現過程是:在viewController裏先增加UIScrollView和UIPageControl: -(void)

iOS棧的區別

IE http sdn 改變 執行 需要 獨立 clas 類方法 https://blog.csdn.net/wallacewang_/article/details/72594977 類方法 當不需要訪問實例變量或者不改變實例狀態時,可寫成類方法。 Objec

iospthread_mutexdispatch_semaphore效能對比

因為自旋鎖有風險已經別踢出局不再使用,所以對比了一下pthread提供的pthread_mutex_t以及dispatch_semaphore。 測試時候特別注意debug模式和release模式,結果可能會完全不一樣。 測試方法 模擬實際使用的執行緒搶佔,分別在不同執行緒迴圈很多次

iOS KVCKVO的理解用途

KVC(Key-Value Coding) KVC,即是指 NSKeyValueCoding,一個非正式的 Protocol,提供一種機制來間接訪問物件的屬性。 一個物件擁有某些屬性。比如說,一個 Man 物件有一個 name 和一個 age 屬性。以 KVC 說法,這個Man&n

IOS UIViewUIViewController的區別

宣告:這篇文章不是原創,因為覺得寫的好,才複製過來保留 ------------------------------------------------------------------------------ UIViewController顧名思義:檢視控制器。應該

ios類別擴充套件的區別

分類的小括號中必須有名字 @interface 類名(分類名字) /*方法宣告*/ @end @implementation類名(分類名字) /*方法實現*/ @end 分類只能擴充方法,不能擴充套件屬性和成員變數(如果包含成員變數會直接報錯)。如果分類中聲明瞭一個屬性,那麼分類只會生成這個屬性的set、

iOSpropertysynthesize的詳細說明

我們要在一個類中定義屬性,首先是要在.h檔案中(或者說是在.m檔案中的@interface的作用域中)使用關鍵字property來進行屬性的宣告,同時,在xcode的4.5版本以前,如果我們想要直接用

iOSStoryboardclass內連線問題

今天早上上班的路上,微信收到同事發來的一個問題,是在操作一個按鈕的時候發現App卡死了,我第一反應就是程式肯定崩潰了。我突然想起前兩天寫的一個功能,這個功能在iPad和iPhone上不一樣,到公司一看果

iOSNSDateNSString相互轉換

本文來源地址:http://www.osjoin.com  今天給大家分享一些關於NSDate和NSString相互轉換。 日期轉成字串。這個雖然簡單,但是我相信很多朋友初次遇到肯定束手無策。腦

iOSprotobuftcp長連結(AsyncSocket)scoket配合使用

在ios開發中,客戶端開發最重要的就是資料的獲取和展示了,說到獲取資料,AFN是目前用的最廣的類庫了吧,不過在實時資料tcp獲取上面,我們還是需要用到AsyncSocket這個類庫來進行開發。不過近日聽過網上google的一個protobuf協議十分好用,就研究

iOSassignweak的區別

一、區別 assign與weak,它們都是弱引用宣告型別,最大的區別在那呢? 如果用weak宣告的變數在棧中就會自動清空,賦值為nil。 如果用assign宣告的變數在棧中可能不會自動賦值為nil,就會造成野指標錯誤! 二、例項 他們常用在基本型別屬性,比如BO

iOS字串富文字相互轉換

/**  *  富文字轉html字串  */ + (NSString *)attriToStrWithAttri:(NSAttributedString *)attri{     NSDictionary *tempDic = @{NSDocumentTypeDocumen

ios加速器重力感應器

首先匯入CoreMotion框架,新建兩個label #import @interface ViewController : UIViewController{         CMMotionManager *_manager;     NSTimer *_timer; } //動作管理器指標 @p

IOSRetainCopy的區別

1 ,可讀性: readonly  、 readwrite@property(readwrite,....) valueType value;這個屬性是變數的預設屬性,就是如果你 (readwrite and readonly 都沒有使用,那麼你的變數就是 readwrite 屬性 ) ,通過加入 read

iOS bundle 國際化之間的關係

[[NSBundle mainBundle] pathForResource:@"someFileName" ofType:@"yourFileExtension"];  [YourViewController initWithNibName:"YourView

iosstrongweak的解釋理解

來自stackoverflow解釋的挺有意思的 Imagine our object is a dog, and that the dog wants to run away (be deallocated). Strong pointers are like a leas

iOSWebViewJS的互動

從iOS7開始 蘋果公佈了JavaScriptCore.framework 它使得JS與OC的互動更加方便了。 下面我們就簡單瞭解一下這個框架 首先我匯入framework 方法如下 點選Linked Frameworks and Libraries 的新增後

IOS顯示隱藏狀態列的網路活動標誌

轉載自:http://mmz06.blog.163.com/blog/static/1214169620116109637638/ 引入 在做IOS客戶端(iPad、iPhone……)與服務端進行互動時,要進行網路連線,而且一般進行相互互動時都會有一定的時間,這時

iOSTextField TextView 控制元件的基本使用

介紹-introduction This time I want to create a new simple project which is a self-introduction program to show some fundamental w