OC筆記 - UIScrollView、NSTimer(2015.2.12)

1.從父控件中刪除所有的子控件

[self.answerView.subviewsmakeObjectsPerformSelector:@selector(removeFromSuperview)];

等同於

for (UIView *subview in self.answerView.subviews){

       [subview removeFromSuperview];

    }

 

2.延遲調用

[self performSelector:@selector(nextQuestionBtn) withObject:nil afterDelay:0.5];


3.更換view的層次關係

[self.view bringSubviewToFront:self.iconBtn];


 4.控制狀態欄的樣式

- (UIStatusBarStyle)preferredStatusBarStyle

{

    //白色

    return UIStatusBarStyleLightContent;

}


5.UIScrollView的基本使用

將需要展示的內容添加到UIScrollView中

設置UIScrollView的contentSize屬性,告訴UIScrollView所有內容的尺寸,也就是告訴它滾動的範圍(能滾多遠,滾到哪裏是盡頭)

 

6. UIScrollView無法滾動的可能原因

如果UIScrollView無法滾動,可能是以下原因:

沒有設置contentSize

scrollEnabled = NO

沒有接收到觸摸事件:userInteractionEnabled = NO

沒有取消autolayout功能(要想scrollView滾動,必須取消autolayout)


7.UIScrollView的常見屬性

@property(nonatomic) CGPoint contentOffset;

這個屬性用來表示UIScrollView滾動的位置

 

@property(nonatomic) CGSize contentSize;

這個屬性用來表示UIScrollView內容的尺寸,滾動範圍(能滾多遠)

 

@property(nonatomic) UIEdgeInsets contentInset;

這個屬性能夠在UIScrollView的4周增加額外的滾動區域

 

8.UIScrollView的其他屬性

@property(nonatomic) BOOL bounces;

設置UIScrollView是否需要彈簧效果

 

@property(nonatomic,getter=isScrollEnabled) BOOLscrollEnabled;

設置UIScrollView是否能滾動

 

@property(nonatomic) BOOL showsHorizontalScrollIndicator;

是否顯示水平滾動條

 

@property(nonatomic) BOOL showsVerticalScrollIndicator;

是否顯示垂直滾動條

 

9.UIScrollView的縮放原理

當用戶在UIScrollView身上使用捏合手勢時,UIScrollView會給代理髮送一條消息,詢問代理究竟要縮放自己內部的哪一個子控件(哪一塊內容)

當用戶在UIScrollView身上使用捏合手勢時,UIScrollView會調用代理的viewForZoomingInScrollView:方法,這個方法返回的控件就是需要進行縮放的控件

 

10.縮放實現步驟

設置UIScrollView的id<UISCrollViewDelegate> delegate代理對象

設置minimumZoomScale :縮小的最小比例

設置maximumZoomScale :放大的最大比例

讓代理對象實現下面的方法,返回需要縮放的視圖控件

(UIView*)viewForZoomingInScrollView:(UIScrollView*)scrollView;

 

跟縮放相關的其他代理方法

縮放完畢的時候調用

(void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view

 

正在縮放的時候調用

- (void)scrollViewDidZoom:(UIScrollView *)scrollView

 

11.分頁

只要將UIScrollView的pageEnabled屬性設置爲YES,UIScrollView會被分割成多個獨立頁面,裏面的內容就能進行分頁展示

 

一般會配合UIPageControl增強分頁效果,UIPageControl常用屬性如下

@property(nonatomic) NSInteger numberOfPages;

一共有多少頁

 

@property(nonatomic) NSInteger currentPage;

當前顯示的頁碼

 

@property(nonatomic) BOOL hidesForSinglePage;

只有一頁時,是否需要隱藏頁碼指示器

 

@property(nonatomic,retain) UIColor*pageIndicatorTintColor;

其他頁碼指示器的顏色

 

@property(nonatomic,retain) UIColor*currentPageIndicatorTintColor;

當前頁碼指示器的顏色

 

12.NSTimer

NSTimer叫做“定時器”,它的作用如下

在指定的時間執行指定的任務

每隔一段時間執行指定的任務

 

調用下面的方法就會開啓一個定時任務

+ (NSTimer*)scheduledTimerWithTimeInterval:(NSTimeInterval)ti     target:(id)aTarget selector:(SEL)aSelector

userInfo:(id)userInforepeats:(BOOL)yesOrNo;

每隔ti秒,調用一次aTarget的aSelector方法,yesOrNo決定了是否重複執行這個任務

 

通過invalidate方法可以停止定時器的工作,一旦定時器被停止了,就不能再次執行任務。只能再創建一個新的定時器才能執行新的任務

- (void)invalidate;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章