亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

dismiss之后presentModalViewController就會變全屏,為什么?

dismiss之后presentModalViewController就會變全屏,為什么?

iOS
料青山看我應如是 2023-04-16 14:10:05
controller(非全屏)里面presentModalViewController展開一個全屏的new view之后 貌似它外面的controller就會消失掉,dismiss之后presentModalViewController就會變全屏,幫忙解決下哦(這邊說明下,rootview里面其實是可以直接加非單獨的tableview的,但是為了跟ipad版共享代碼,tableview我就用單獨的controller)ipad上不會有這種問題
查看完整描述

1 回答

?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

- (void)viewDidAppear:(BOOL)animated
{
[self.view setFrame:CGRectMake(0, 92, 312, 359)];
}
結貼了,這個還是會閃一下,無法實現rootviewcontroller里面直接放tableview的效果

我又來了,這個問題最后還是自己搞定了。可能自己對Custom Container View Controller的理解還不是很透徹
現在viewdidload的時候多了這句
[self addChildViewController:self.aloneController];
搞定了。上面自定義controller里面的viewdidappear方法也可以去掉了

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self addChildViewController:self.aloneController];
    [self.view addSubview:self.aloneController.view];
    [self.aloneController.view setFrame:CGRectMake(0, 92, 312, 359)];
}

附上Custom Container View Controller的知識點:

在iOS 5之前框架并不支持自定義 Container View Controller, iOS 5開始開放了一些新的接口來支持支持自定義容器

addChildViewController:
removeFromParentViewController
transitionFromViewController:toViewController:duration:options:animations:completion:
willMoveToParentViewController:
didMoveToParentViewController:

其中前兩個接口比較重要,可以直接改變View Controller 的 Hierarchy。


查看完整回答
反對 回復 2023-04-18
  • 1 回答
  • 0 關注
  • 250 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號