【極客班】iOS進階(一)

多傻,這周只看到了選學的內容,還以為只是把這些內容看四個星期,結果一個Git看了三天,還混沌了幾日,方才發現這周的課程被折疊了。。。

這周悲劇了,筆記質量指數下滑,各位擔待啊!


把ScrollView看了兩遍,先把作業做完了不是?

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

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

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

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

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

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內容的位置

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

//把Image按照這個規律按順序把名字起了

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

[scrollView addSubview:pageImageView];

}

來瞅一眼可變數組的方法,其實換湯不換藥(來源: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]; // 數組放三張圖片

self.array = imgArr;

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

{

[self loadScrollViewWithPage:i]; // 遍歷數組

}

然后我的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也能滾動切換圖片

}

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



View的層次結構




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進行管理的,其他VCS多基于文件

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

基本用法

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

git add? 將修改登記到stage 里

git commit 提交stage 里的修改

message

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

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

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

相關的修改一起提交。

Git? 的分布式倉庫

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

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

git remote add name url : 關聯遠程倉庫

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

git push name branch: 上傳

撤銷修改撤銷

a僅在工作副本中的修改

git checkout -- file

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

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

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

git revert(抵消)

git reset -- hard(撤銷)

c撤銷已經推送到服務器中的修改

嘗試git revert

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容