麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

iOS學(xué)習(xí)筆記——使用ChildViewController

2019-11-14 18:46:35
字體:
供稿:網(wǎng)友

之前在使用TableView的時候遇到過問題,需要使用另外的TableViewController來先存放TableView,原有的View則使用ViewContainer來引用TableViewController。此時是第一回接觸一個ViewController中使用另一個ViewController。后來在開發(fā)的時候遇到另外的問題也需要用到ChildViewController,本來這類問題可以使用自定義的View來解決。在開發(fā)Android的時候自定義的View可以指定用某個布局文件,但是iOS的不能給自定義的View指定布局文件,靠代碼去實現(xiàn)控件布局就很大難度,于是就搜索ViewContainer相關(guān)問題。

    使用ViewContainer其實也是在ViewController中添加一個子的ViewController。在可視化StoryBoard中可以用ViewContainer,但是用純代碼控制的話,還是用ChildViewController比較方便。

    ChildViewController是iOS5出來的新東西,iOS5給UIViewController添加了5個方法和一個屬性,圍繞著這個ChildViewController

// 方法addChildViewController:removeFromParentViewController: transitionFromViewController:toViewController:duration:options:animations:completion:willMoveToParentViewController:didMoveToParentViewController:// 屬性@PRoperty(nonatomic,readonly) NSArray *childViewControllers

在我看來以上的方法屬性可以望文生義,方法的作用依次是添加ChildViewController、去除ChildViewController,切換ChildViewController,后面的兩個方法是有事件性質(zhì)的,在ChildViewController切換到主的ViewController和切換完之后觸發(fā)的。

但我現(xiàn)在的應(yīng)用場景是需要把ChildView放到ScrollView里面,實現(xiàn)翻頁的效果。

在StoryBoard中添加了兩個ViewController,一個是主的里面添加了UIScrollView,另外添加的是作為添加到ParentViewController的ChildViewController。

先把ChildView的StroyBoard中添加一下命名,那么在主ViewController中構(gòu)造ViewController時就可以按照StoryBoardID來構(gòu)造了。

由于UIScrollView實現(xiàn)翻頁的功能,所以要對它作以下配置

self.scrollView.contentSize=CGSizeMake(self.view.frame.size.width*pagecount, self.scrollView.frame.size.height);self.scrollView.pagingEnabled=true;

添加ChildViewController的代碼如下所示

SunRealAQIViewController *realCV2=[[self storyboard]instantiateViewControllerWithIdentifier:@"test123"];realCV2.view.frame=CGRectMake(self.view.frame.size.width, 0, self.view.frame.size.width, self.view.frame.size.height);[self addChildViewController:realCV2];[self.scrollView addSubview:realCV2.view];

先是構(gòu)造ChildViewController,再設(shè)置它的frame屬性,這時第一頁,第一頁可以不設(shè)置,但第二頁第三頁就需要去設(shè)置,第三行則是調(diào)用UIViewController的addChildViewController的方法添加ChildViewController里面,最后則是把ChildView的視圖添加到主視圖的指定位置,在這里是要添加到ScrollView里面去,所以就是調(diào)用[self.scrollView addSubver:]的方法,需要添加多個相同的ChildViewController到ScrollView里面肯定用循環(huán)

    for (int i=0; i<pagecount; i++){    SunRealAQIViewController *realCV2=[[self storyboard]instantiateViewControllerWithIdentifier:@"test123"];    realCV2.view.frame=CGRectMake(self.view.frame.size.width*i, 0, self.view.frame.size.width, self.view.frame.size.height);    [self addChildViewController:realCV2];    [self.scrollView addSubview:realCV2.view];} 

就這樣子開啟了使用ChildViewController的大門!


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 美女被免费网站在线软件 | 国产高潮失禁喷水爽到抽搐视频 | 一级毛片电影院 | 99视频有精品视频高清 | 毛片免费视频观看 | 国产福利视频在线观看 | 亚洲欧美一区二区三区在线观看 | 久久国产91| 国产一区二区三区视频在线观看 | 成人福利视频导航 | 被啪羞羞视频在线观看 | 香蕉视频1024 | 黄色的视频免费看 | 免费人成在线播放 | 九九热在线观看视频 | 男女无套免费视频 | 国产精品久久久久久久午夜片 | 日本一级黄色大片 | 毛片免费一区二区三区 | 国产资源在线免费观看 | 成人一级视频 | 国产亚洲黑人性受xxxx精品 | 日日噜噜夜夜爽 | 久久久国产一区二区三区 | 欧美性生活区 | 激情大乳女做爰办公室韩国 | 欧美精品一区二区久久 | 97人操| 欧美成年性h版影视中文字幕 | 嫩草91在线 | 国产成人精品日本亚洲语音 | 永久免费不卡在线观看黄网站 | 欧美一级做a | 国产日韩欧美 | 亚洲午夜免费电影 | 亚洲欧美日韩中文在线 | 免费观看又色又爽又黄的崩锅 | 狠狠干狠狠操 | 91成人免费在线观看 | 国产一精品一av一免费爽爽 | 8x成人在线电影 |