多傻,這周只看到了選學的內容,還以為只是把這些內容看四個星期,結果一個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