貓貓學IOS(八)UI之熱門_喜馬拉雅UI實現-UIScrollView的使用,ios-uiscrollview

來源:互聯網
上載者:User

貓貓學IOS(八)UI之熱門_喜馬拉雅UI實現-UIScrollView的使用,ios-uiscrollview

貓貓分享,必須精品
素材代碼地址: http://blog.csdn.net/u013357243/article/details/44588251
原文地址:http://blog.csdn.net/u013357243/article/details/44588159

先看效果




storyBoard用到的控制項


代碼實現
/*建立iOS交流學習群:304570962ps:貓貓的文章竟然被好多地方轉載了,受寵若驚啊,不過轉的時候請轉的全一點,別丟下素材什麼的,不標註轉載也沒事,大家一起努力學習貓貓就很高興了,如果需要學習資料視頻素材等等的可以加貓貓QQ:1764541256 或則znycat   讓我們一起努力學習吧。目前將這個遊戲的功能都實現了,雖然部分代碼抽取的不是那麼完美原文:http://blog.csdn.net/u013357243?viewmode=contents*/////  NYViewController.m//  05 - 喜馬拉雅////  Created by apple on 15-3-24.//  Copyright (c) 2015年 znycat. All rights reserved.//#import "NYViewController.h"@interface NYViewController ()@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;@property (weak, nonatomic) IBOutlet UIButton *lastButton;@end@implementation NYViewController/** setter方法 系統載入了Main.storyboard後,給scrollView對象進行賦值 此setScrollView方法是由系統自動調用的。 在看堆棧代用中 ,藍色的是我們自己調用的,其他是系統的。 */-(void)setScrollView:(UIScrollView *)scrollView{    //set方法中 第一句賦值    _scrollView = scrollView;    /**設定滾動視圖內容     1,如果當前有間距,根據間距自動調整contentOffset     2,如果沒有間距,contentOffset是(0,0)     簡單說就是         contentSize 會根據邊距調整offset        contentInset 不會調整offset     */    //設定間距(指定內容外側邊距,並不會根據contentOffset來自動調整              )    self.scrollView.contentInset= UIEdgeInsetsMake(64, 0, 49, 0);    //設定滾動視圖內容    self.scrollView.contentSize = CGSizeMake(0, CGRectGetMaxY(self.lastButton.frame));    NSLog(@"%s",__func__);    //修改contentOffset    /**如果先設定間距 然後再設定滾動視圖的內容就不用再控制修改contentOffset了 這裡是蘋果設計的一個缺憾,耦合性太強,代碼上下需要注意*/    //    self.scrollView.contentOffset = CGPointMake(0, -64);}//視圖載入完成後執行- (void)viewDidLoad{    [super viewDidLoad];    NSLog(@"%s",__func__);}@end
UIScrollView使用以及屬性
行動裝置的螢幕⼤大⼩小是極其有限的,因此直接展⽰示在⽤使用者眼前的內容也相當有限,當展⽰示的內容較多,超出⼀一個螢幕時,⽤使用者可通過滾動⼿手勢來查看螢幕以外的內容, 普通的UIView不具備滾動功能,不能顯⽰示過多的內容, UIScrollView是⼀一個能夠滾動的視圖控制項,可以⽤用來展⽰示⼤大量的內容,並且可以通過滾 動查看所有的內容

舉例:⼿手機上的“設定”、其他⽰樣本程式

如果UIScrollView⽆無法滾動,可能是以下原因:
➢ 沒有設定contentSize
➢ scrollEnabled = NO
➢ 沒有接收到觸摸事件:userInteractionEnabled = NO
➢ 沒有取消autolayout功能(如果在Storyboard中添加了ScrollView的⼦子控制項,要想 scrollView滾動,必須取消autolayout)

常用的屬性

@property(nonatomic)CGPointcontentOffset;  // 這個屬性⽤用來表⽰示UIScrollView滾動的位置@property(nonatomic)CGSizecontentSize;// 這個屬性⽤用來表⽰示UIScrollView內容的尺⼨寸,滾動範圍(能滾多遠)@property(nonatomic)UIEdgeInsetscontentInset; // 這個屬效能夠在UIScrollView的4周增加額外的捲動區域
常見屬性圖片表示

原文目錄:http://blog.csdn.net/u013357243?viewmode=contents

ps:學習iOS的過程是一個看代碼寫代碼的過程,雖然現在大多受都是UI,但是UI是相當重要的,這是客戶第一眼看到的地方,就是我們app的臉,就像我們看人一樣,都是先看臉,所以我們要讓UI美起來。
ps:有朋友問貓貓,說很多都直接用代碼載入UI,為啥要用storyboard來脫線,啥的。
其實這裡原因有好幾個,比如有的小程式直接拖就可以了,完全沒那麼麻煩,用代碼主要是為了後期維護方便,還有storyboard可以讓我們事實的看到效果,有利於學習。

PS 當然代碼寫還是很重要的,(其實我更願意全部用代碼寫) 代碼掌控天下的感覺,爽爆了不過學習是一個漸進的過程。大家一起努力學習吧,喵嗚

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.