日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

segmentControl实现控制器的切换

發布時間:2023/12/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 segmentControl实现控制器的切换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

創建一個空項目,定義三個控制器繼承自UIViewController的子控制器,其中一個為主控制器,分別管理另外兩個控制器。
主控制器:XCMainController
第一個控制器:XCFristController
第二個控制器:XCSecondController

在AppDelegate的- (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions方法中定義主窗口

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {//1 創建窗口self.window = [[UIWindow alloc] init];self.window.frame = [UIScreen mainScreen].bounds;//2 設置主控制器XCMainController *mainVc = [[XCMainController alloc] init];UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:mainVc];self.window.rootViewController = nav;//3 顯示window[self.window makeKeyAndVisible];return YES; }

第一個控制器初始化view:

- (void)viewDidLoad{[super viewDidLoad];self.view.backgroundColor = [UIColor purpleColor];UILabel *label = [[UILabel alloc] init];label.text = @"fristController";label.font = [UIFont systemFontOfSize:17];label.frame = CGRectMake(100, 100, 200, 100);[self.view addSubview:label]; }

第二個控制器初始化view:

- (void)viewDidLoad{[super viewDidLoad];self.view.backgroundColor = [UIColor greenColor];UILabel *label = [[UILabel alloc] init];label.text = @"secondController";label.font = [UIFont systemFontOfSize:17];label.frame = CGRectMake(100, 100, 200, 100);[self.view addSubview:label]; }

主控制器邏輯實現
添加子控制器

- (void)viewDidLoad{[super viewDidLoad];self.navigationItem.titleView = [self setupSegment];self.fristVc = [[XCFristController alloc] init];self.fristVc.view.frame = CGRectMake(0, navigationHeight, mainVcWidth, mainVcHeight - 64);[self addChildViewController:_fristVc];self.secondVc = [[XCSecondController alloc] init];self.secondVc.view.frame = CGRectMake(0, navigationHeight, mainVcWidth, mainVcHeight - 64);[self addChildViewController:_secondVc];//設置默認控制器為fristVcself.currentVC = self.fristVc;[self.view addSubview:self.fristVc.view];}

初始化UISegmentControl:

/*** 初始化segmentControl*/ - (UISegmentedControl *)setupSegment{NSArray *items = @[@"1", @"2"];UISegmentedControl *sgc = [[UISegmentedControl alloc] initWithItems:items];//默認選中的位置sgc.selectedSegmentIndex = 0;//設置segment的文字[sgc setTitle:@"oneView" forSegmentAtIndex:0];[sgc setTitle:@"twoView" forSegmentAtIndex:1];//監聽點擊[sgc addTarget:self action:@selector(segmentChange:) forControlEvents:UIControlEventValueChanged];return sgc; }

監聽segmentControl點擊事件:

- (void)segmentChange:(UISegmentedControl *)sgc{//NSLog(@"%ld", sgc.selectedSegmentIndex);switch (sgc.selectedSegmentIndex) {case 0:[self replaceFromOldViewController:self.secondVc toNewViewController:self.fristVc];break;case 1:[self replaceFromOldViewController:self.fristVc toNewViewController:self.secondVc];break;default:break;} }

控制器切換

/*** 實現控制器的切換** @param oldVc 當前控制器* @param newVc 要切換到的控制器*/ - (void)replaceFromOldViewController:(UIViewController *)oldVc toNewViewController:(UIViewController *)newVc{/*** transitionFromViewController:toViewController:duration:options:animations:completion:* fromViewController 當前顯示在父視圖控制器中的子視圖控制器* toViewController 將要顯示的姿勢圖控制器* duration 動畫時間(這個屬性,old friend 了 O(∩_∩)O)* options 動畫效果(漸變,從下往上等等,具體查看API)UIViewAnimationOptionTransitionCrossDissolve* animations 轉換過程中得動畫* completion 轉換完成*/[self addChildViewController:newVc];[self transitionFromViewController:oldVc toViewController:newVc duration:0.1 options:UIViewAnimationOptionTransitionCrossDissolve animations:nil completion:^(BOOL finished) {if (finished) {[newVc didMoveToParentViewController:self];[oldVc willMoveToParentViewController:nil];[oldVc removeFromParentViewController];self.currentVC = newVc;}else{self.currentVC = oldVc;}}]; }

總結

以上是生活随笔為你收集整理的segmentControl实现控制器的切换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文在线免费 | 中文在线国产 | 国产自精品 | 韩国电影大尺度在线观看 | 亚洲自拍偷拍av | 国产精品无码永久免费不卡 | 老牛影视av一区二区在线观看 | 福利所导航 | 成人啪啪18免费游戏链接 | 成人毛片网| www.久久久久| 天天综合中文字幕 | 色涩涩 | 久久久永久久久人妻精品麻豆 | 色秀av | 国产91精品露脸国语对白 | hs视频在线观看 | 精品一二三区 | 欧美激情免费在线 | 亚洲激情欧美色图 | 99精品小视频| 精品不卡在线 | 亚洲一区天堂 | 国产v亚洲 | av资源库 | 成人h在线观看 | 午夜影院黄 | 天天综合亚洲 | 在线视频观看 | 国产精品三级电影 | 国产欧美日韩免费 | 亚洲天堂日韩在线 | 国产在线播放91 | 成人午夜又粗又硬又大 | 2024国产精品| 亚洲天堂99| 亚洲国产精品毛片av不卡在线 | 日韩欧美网站 | 91欧美一区二区 | 性生活视频在线播放 | 成人区人妻精品一熟女 | 鬼灭之刃柱训练篇在线观看 | 日韩不卡一区二区三区 | 国产探花精品一区二区 | 亚洲最大成人av | 国产精品毛片久久久久久 | 老司机黄色影院 | 日韩无码专区 | 亚洲成人无码久久 | 国产毛片毛片毛片毛片毛片毛片 | 日少妇b| 亚洲无吗在线 | 看黄色一级视频 | 木下凛凛子av一区二区三区 | 国产精品久久久久久一区二区 | 国产露脸150部国语对白 | 亚洲www. | 日韩tv | 久久精品久久99 | 亚洲伊人婷婷 | 欧美日韩亚洲色图 | 韩国电影大尺度在线观看 | 伊人网影院 | 啪啪网站免费观看 | 精品人妻一区二区三 | 浮妇高潮喷白浆视频 | 黄色片成年人 | 三级a做爰全过程 | 国产吃瓜黑料一区二区 | 直接看的av网站 | 日本三级中文字幕 | 久久久久久久国产视频 | 香蕉视频国产在线观看 | 午夜999| 欧美日韩国产精品 | 国产精品无码无卡无需播放器 | 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 久操视频在线观看 | 亚洲av综合一区 | 日本一区视频在线播放 | 亚洲精品97久久中文字幕无码 | 日韩一区二区三区在线看 | 公交顶臀绿裙妇女配视频 | 亚洲天堂男 | 色七七久久 | 免费大片在线观看www | 日日骚一区二区 | 国产午夜免费视频 | 亚洲欧美成人一区二区三区 | 午夜国产一级 | 中国极品少妇xxxx做受 | av在线电影观看 | 亚洲第一在线视频 | 国产在线aaa | 中国极品少妇xxxx | 日本一区二区不卡视频 | 国产精品视频在 | 中文字幕一区二区三区门四区五区 | 影音先锋成人资源 |