ios如何在乙個控制器中新增另乙個控制器

2022-08-22 21:15:16 字數 962 閱讀 6506

最近的專案由於專案需要,涉及過多次在當前控制器上新增另乙個控制器的view問題。這裡做個筆記,為了方便,當前檢視控制器記為控制器1,新增的檢視記為控制器2
第一種情況:
1.首先,因為控制器2的檢視上有需要與使用者互動的需求,所以一定要設定2為1的子控制器

viewcontroller *vc2 = [[viewcontroller alloc]init];

[self addchildviewcontroller:vc2];

ps:當有多個子檢視時還可能用到,子控制器的removefromparentviewcontroller方法

2.關於2的view的建立

因為view的建立涉及到2的viewdidload方法,所以在控制器1的方法裡面不要再重新建立vc2的view,不然建立的是另乙個物件。在這裡只需要根據需要設計vc2的view的frame就可以了。如下:

vc2.view.frame = cgrectmake(0, 108, kscreenwidth, kscreenheight-108);

第二種情況:
就先別搞那麼複雜先,就這樣完成了乙個uitableviewcontroller的建立

然後我們看一下,是否有我們想要的效果: 

我們是確實能將這個tableview新增上去了,但是出現了不能顯示資料的問題。

我們再看一下效果: 

只有這樣才能顯示我們的cell的資料

所以得出乙個結論:只要view在,view所在的控制器必須得在,這樣才能保證view內部的資料和業務邏輯正常

如何建立乙個控制器

控制器的常見建立方式有以下幾種 1 直接建立 mjviewcontroller mj mjviewcontroller alloc init 2 通過storyboard建立 需要新建乙個storyboard檔案 1 先載入storyboard檔案 test是storyboard的檔名 uistor...

mvc Web api 如何在控制器中呼叫

關於如何呼叫 mvc web api 的方法,網上一搜就是一大把,基本都是在前台jq中呼叫的,但是如何在後台呼叫呢?本樓主做了一下測試,僅供參考。先寫乙個簡單的api,如下 域1 namespace snschess.api public string msg public string url 此...

關於在乙個控制器裡新增另乙個控制器的View的問題

最近的專案由於專案需要,涉及過多次在當前控制器上新增另乙個控制器的view問題。這裡做個筆記,為了方便,當前檢視控制器記為控制器1,新增的檢視記為控制器2 第一種情況 1.首先,因為控制器2的檢視上有需要與使用者互動的需求,所以一定要設定2為1的子控制器 viewcontroller vc2 vie...