知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
9.ios之UIScrollView
發(fā)表時間:2020-10-19
發(fā)布人:葵宇科技
瀏覽次數(shù):55
什么是UIScrollView
?移動設(shè)備的屏幕大年夜小是極其有限的,是以直接展示在用戶眼前的內(nèi)容也相當(dāng)有限
?
?當(dāng)展示的內(nèi)容較多,超出一個屏幕時,用戶可經(jīng)由過程滾著手勢來查看屏幕以外的內(nèi)容
?
?通俗的UIView不具備滾動功能,不克不及顯示過多的內(nèi)容
?
?UIScrollView是一個可以或許滾動的視圖控件,可以用來展示大年夜量的內(nèi)容,并且可以經(jīng)由過程滾動查看所有的內(nèi)容
?舉例:手機上的“設(shè)置”、其他示例法度榜樣
UIScrollView的根本應(yīng)用
?UIScrollView的用法很簡單
?將須要展示的內(nèi)容添加到UIScrollView中
UIScrollView無法滾動的解決辦法
?如不雅UIScrollView無法滾動,可能是以下原因:
?沒有設(shè)置contentSize
?設(shè)置UIScrollView的contentSize屬性,告訴UIScrollView所有內(nèi)容的尺寸,也就是告訴它滾動典范圍(能滾多遠(yuǎn),滾到哪里是盡頭)
?scrollEnabled = NO
?沒有接收到觸摸事宜:userInteractionEnabled = NO
?沒有撤消autolayout功能(要想scrollView滾動,必須撤消autolayout)
UIScrollView的其他屬性
?
?@property(nonatomic)CGPointcontentOffset;
?這個屬性用來表示UIScrollView滾動的地位
?@property(nonatomic)CGSizecontentSize;
?這個屬性用來表示UIScrollView內(nèi)容的尺寸,滾動范圍(能滾多遠(yuǎn))
?
?@property(nonatomic)UIEdgeInsetscontentInset;
?這個屬性可以或許在UIScrollView的4周增長額外的滾動區(qū)域
[img]http://img.blog.csdn.net/20150106213613531?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbmVuZzE4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
?設(shè)置UIScrollView是否須要彈簧效不雅
?@property(nonatomic,getter=isScrollEnabled)BOOLscrollEnabled;
?設(shè)置UIScrollView是否能滾動
?@property(nonatomic)BOOLshowsHorizontalScrollIndicator;
?
?是否顯示程度滾動條
?
?@property(nonatomic)BOOLshowsVerticalScrollIndicator;
?@property(nonatomic)BOOLbounces;
?是否顯示垂直滾動條
內(nèi)容縮放
UIScrollView的常見屬性
?有些時刻,我們可能要對某些內(nèi)容進(jìn)論述勢縮放,如下圖所示
UIScrollView不僅能滾動顯示大年夜量內(nèi)容,還能對其內(nèi)容進(jìn)行縮放處理
也就是說,要完成縮放功能的話,只須要將須要縮放的內(nèi)容添加到UIScrollView中
UIScrollView的縮放道理
?當(dāng)用戶在UIScrollView身上應(yīng)用捏合手勢時,UIScrollView會給代理發(fā)送一條消息,詢問代勞畢竟要縮放本身內(nèi)部的哪一個子控件(哪一塊內(nèi)容)
[img]http://img.blog.csdn.net/20150106215410149?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbmVuZzE4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
[img]http://img.blog.csdn.net/20150106213936343?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbmVuZzE4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
縮放實現(xiàn)步調(diào)
1.設(shè)置UIScrollView的id<UISCrollViewDelegate>delegate代勞對象
2.設(shè)置minimumZoomScale:縮小的最小比例
3.設(shè)置maximumZoomScale:放大年夜的最大年夜比例
self.scrollView.delegate =self;
4.讓代勞對象實現(xiàn)下面的辦法,返回須要縮放的視圖控件
?也就是說,要想監(jiān)聽UIScrollView的滾動過程,就必須先給UIScrollView設(shè)置一個代勞對象,然后經(jīng)由過程代勞得知UIScrollView的滾動過程
- (UIView*)viewForZoomingInScrollView:(UIScrollView*)scrollView;
?跟縮放相干的其他代勞辦法
?縮放完畢的時刻調(diào)用
-(void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view
?正在縮放的時刻調(diào)用
-(void)scrollViewDidZoom:(UIScrollView *)scrollView
分頁
?只要將UIScrollView的pageEnabled屬性設(shè)置為YES,UIScrollView會被瓜分成多個自力頁面,瑯綾擎的內(nèi)容就能進(jìn)行分頁展示
?
?一般會合營UIPageControl加強分頁效不雅,UIPageControl常用屬性如下
?一共有若干頁
@property(nonatomic)NSIntegernumberOfPages;
?當(dāng)前顯示的頁碼
@property(nonatomic)NSIntegercurrentPage;
?只有一頁時,是否須要隱蔽頁碼指導(dǎo)器
@property(nonatomic)BOOLhidesForSinglePage;
?其他頁碼指導(dǎo)器的色彩
@property(nonatomic,retain)UIColor *pageIndicatorTintColor;
?當(dāng)前頁碼指導(dǎo)器的色彩
@property(nonatomic,retain)UIColor *currentPageIndicatorTintColor;
UIScrollView的代收成delegate)
?很多時刻,我們想在UIScrollView正在滾動或 滾動到某個地位 或者 停止?jié)L動 時髦一些特定的操作
?
?要想完成上述功能,前提前提就是可以或許監(jiān)聽到UIScrollView的┞符個滾動過程
?當(dāng)UIScrollView產(chǎn)生一系列的滾動操作時,會主動通知它的代收成delegate)對象,給它的代理發(fā)送響應(yīng)的消息,讓代勞得知它的滾動情況
?
[img]http://img.blog.csdn.net/20150106215327328?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbmVuZzE4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
?UIScrollView將delegate須要實現(xiàn)的辦法都定義在了UIScrollViewDelegate協(xié)定中,是以要想成為UIScrollView的delegate,必須遵守UIScrollViewDelegate協(xié)定,然后實現(xiàn)協(xié)定中響應(yīng)的辦法,就可以監(jiān)聽UIScrollView的滾動過程了
[img]http://img.blog.csdn.net/20150106215507245?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbmVuZzE4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
[img]http://img.blog.csdn.net/20150106215544826?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbmVuZzE4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
UIScrollView和控制器
?一般情況下,就設(shè)置UIScrollView地點的┞菲握器為 UIScrollView的delegate
?
?設(shè)置控制器為UIScrollView的delegate有2種辦法:
?經(jīng)由過程代碼(self就是控制器)
?經(jīng)由過程storyboard拖線(右擊UIScrollView)
[img]http://img.blog.csdn.net/20150106215755133?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbmVuZzE4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
?然后,控制器應(yīng)當(dāng)遵守UIScrollViewDelegate協(xié)定
?最后,實現(xiàn)協(xié)定中定義的相干辦法
相關(guān)案例查看更多
相關(guān)閱讀
- 網(wǎng)站排名優(yōu)化
- APP
- 云南省住房建設(shè)廳網(wǎng)站
- 河南小程序制作
- 云南建設(shè)廳網(wǎng)站
- 云南網(wǎng)站建設(shè)哪家好
- 北京小程序制作
- 云南電商網(wǎng)站建設(shè)
- 云南網(wǎng)站建設(shè)公司地址
- typescript
- 汽車報廢回收管理系統(tǒng)
- 云南網(wǎng)站建設(shè)制作
- web開發(fā)技術(shù)
- 公眾號模板消息
- 網(wǎng)站建設(shè)價格
- 小程序開發(fā)課程
- 云南小程序開發(fā)
- 網(wǎng)站建設(shè)專家
- 云南網(wǎng)站建設(shè)哪家強
- 云南網(wǎng)站建設(shè)公司
- 網(wǎng)站小程序
- 用戶登錄
- 網(wǎng)絡(luò)公司哪家好
- 網(wǎng)絡(luò)公司排名
- 英文網(wǎng)站建設(shè)公司
- 云南小程序開發(fā)報價
- 云南花農(nóng)小程序
- 網(wǎng)站建設(shè)首選公司
- 云南網(wǎng)站優(yōu)化公司
- 網(wǎng)絡(luò)營銷