【極客班】iOS進(jìn)階(一)

多傻,這周只看到了選學(xué)的內(nèi)容,還以為只是把這些內(nèi)容看四個星期,結(jié)果一個Git看了三天,還混沌了幾日,方才發(fā)現(xiàn)這周的課程被折疊了。。。

這周悲劇了,筆記質(zhì)量指數(shù)下滑,各位擔(dān)待??!


把ScrollView看了兩遍,先把作業(yè)做完了不是?

其實還是借鑒了搜索引擎里搜到的,發(fā)到博客的文章的作者都好厲害,全是純代碼,我復(fù)制粘貼就是一個項目??!對于我,還是要結(jié)合StoryBoard來構(gòu)建,所以也是部分查閱了。

這個作業(yè)看起來簡單,其實對我這種基本功不怎么行的人,實在是煎熬。

(譬如delegate,高高興興的敲上 [scrollView setDelegate:self] ,結(jié)果扎眼的??怎么也去不掉,才發(fā)現(xiàn)是@interface里沒敲。)

我在StoryBoard里創(chuàng)建了應(yīng)該有的ScrollView和PageControl(這玩意兒悲劇了,一會兒說)ImageView代碼創(chuàng)建,使其尺寸和ScrollView相同即可。

在ScrollView里添加多張圖片用的是for循環(huán),但并沒有用可變數(shù)組,不過見過有用這個的。

UIScrollView * scrollView = self.myScrollView;

//幾張圖片呢?

NSInteger totalImageCount = 3 ;

[scrollView setContentSize:CGSizeMake(self.view.bounds.size.width* totalImageCount, 0)];

//? ? 向其中添加pageImageView

CGFloat width=self.view.bounds.size.width;

CGFloat height=self.view.bounds.size.height;

for (NSInteger i=0; i< totalImageCount; i++) {

//? ? ? ? 相對于scrollView內(nèi)容的位置

UIImageView *pageImageView=[[UIImageView alloc] initWithFrame:CGRectMake(i*width, 0, width, height)];

//把Image按照這個規(guī)律按順序把名字起了

[pageImageView setImage:[UIImage imageNamed:[NSString stringWithFormat:@"Image0%ld",i + 1]]];

[scrollView addSubview:pageImageView];

}

來瞅一眼可變數(shù)組的方法,其實換湯不換藥(來源:IOS之PageControl和ScrollView搭配 - liric的專欄 - 博客頻道 - CSDN.NET

NSMutableArray * imgArr = [[NSMutableArray alloc]initWithObjects:

[UIImage imageNamed:@"1933_1.jpg"],

[UIImage imageNamed:@"1933_2.jpg"],

[UIImage imageNamed:@"1933_3.jpg"],

nil]; // 數(shù)組放三張圖片

self.array = imgArr;

for (int i =0; i<[array count]; i++)

{

[self loadScrollViewWithPage:i]; // 遍歷數(shù)組

}

然后我的PageControl悲劇了,不論是storyboard里放置,還是代碼里搞,總是不偏不倚地在左上角放著,我的點擊小點也跳圖片的方法,也沒有奏效。

- (void)scrollViewDidScroll:(UIScrollView *)sender

{

CGFloat pagewidth = self.myScrollView.frame.size.width;

int page = floor((self.myScrollView.contentOffset.x - pagewidth/2)/pagewidth)+1;

self.myPageControl.currentPage = page; // 觸摸pageControl也能滾動切換圖片

}

希望下周批到我作業(yè)的各位童鞋能夠幫著找找錯哈~



View的層次結(jié)構(gòu)




UIView的層次管理方法

Create

- (void)addSubview:(UIView *)view;

- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index;

- (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview;

- (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview;

Read

(BOOL)isDescendantOfView:(UIView*)

Update

- (void)bringSubviewToFront:(UIView *)view;

- (void)sendSubviewToBack:(UIView *)view;

- (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex:(NSInteger)index2;

Delete

- (void)removeFromSuperview;


Git

Git的基本概念

Git是基于commit進(jìn)行管理的,其他VCS多基于文件

擁有獨特的staging area(暫存工作區(qū))

基本用法

git init 初始化一個空的本地倉庫(.git目錄)

git add? 將修改登記到stage 里

git commit 提交stage 里的修改

message

重點是意圖:解決了什么問題,加了什么功能等。

不要攢一堆修改一起提交。

一個commit解決一個問題,甚至一個復(fù)雜的問題分為幾個commit一起解決。

相關(guān)的修改一起提交。

Git? 的分布式倉庫

git init : 在本地建立一個新倉庫

git clone url : 從服務(wù)器上克隆一個倉庫到本地

git remote add name url : 關(guān)聯(lián)遠(yuǎn)程倉庫

git pull [name branch]: 下載? (git pull 相當(dāng)于 fetch 和update working copy集合)

git push name branch: 上傳

撤銷修改撤銷

a僅在工作副本中的修改

git checkout -- file

b撤銷已登記到Stage 中的修改

git reset HEAD file (退回工作副本)

git reset -- hard HEAD file (回最后一次提交狀態(tài))撤銷已提交到本地倉庫中的修改

git revert(抵消)

git reset -- hard(撤銷)

c撤銷已經(jīng)推送到服務(wù)器中的修改

嘗試git revert

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容