簡體   English   中英

iOS /自動版式:取消已演示的控制器后,更改為演示視圖

[英]IOS/Autolayout: Change to Presenting View After Presented Controller Dismissed

我正在嘗試使自動布局在帶有scrollview的視圖控制器上正常工作。 第一次加載視圖控制器時,它沒有執行我想要的操作。 但是,如果我啟動第二個模式VC(恰好是Edit VC)然后不做任何其他操作就將其關閉,則原始VC會正確布局(我想要的方式)。

首先,文本視圖的大小不適合其內容,而僅反映了故事板上的占位符視圖。

在啟動和關閉模式VC之后,textview確實采用了其內容。

據我所知,在第二次VC啟動過程中沒有發生任何事情可以改變第一次VC的情況。

我的日志顯示,最初加載時,第一個VC僅調用一次ViewDidLoad。 Viewwillappear被第一個VC調用兩次:最初加載時,然后關閉第二個VC之后。

當您關閉已呈現的VC時,除了view將出現以外,還有其他方法會觸發該VC嗎?

這是VC1中用於啟動第二個VC的代碼。

  UIStoryboard *storyBoard = self.storyboard;
    IDEditListVC *editVC =
    [storyBoard instantiateViewControllerWithIdentifier:@"editlist"];
    editVC.list = _list;
    UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController: editVC];
     [self presentModalViewController:nav animated:YES];

//這是VC1 viewWillAppear中的代碼,用於獲取文本視圖的高度。 啟動和關閉第二個VC前后的結果更改

self.textView.text = listText;
float listHeight = self.textView.contentSize.height;
NSLog(@"listHeight%f",listHeight);

嘗試這個

-(void)viewDidLayoutSubviews
 {
    self.textView.text = listText;
    float listHeight = self.textView.contentSize.height;
    NSLog(@"listHeight%f",listHeight);
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM