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

2021-07-23 21:38:31 字數 1528 閱讀 9047

最近的專案由於專案需要,涉及過多次在當前控制器上新增另乙個控制器的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);

第二種情況:
#pragma mark - table view data source

- (nsinteger)tableview:(uitableview *)tableview numberofrowsinsection:(nsinteger)section

- (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath

cell.textlabel

.text = @"test";

return cell;

}

就先別搞那麼複雜先,就這樣完成了乙個uitableviewcontroller的建立

- (void)viewdidload

}

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

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

@property(nonatomic,strong)zytestviewcontroller *testview;

@end

@implementation

viewcontroller

- (void)viewdidload

我們再看一下效果: 

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

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

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

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

在乙個python裡執行另乙個python檔案

os.popen cmd,mode r buffering 1 command 呼叫的命令 mode 模式許可權可以是 r 預設 或 w bufsize 指明了檔案需要的緩衝大小 0意味著無緩衝 1意味著行緩衝 其它正值表示使用引數大小的緩衝 大概值,以位元組為單位 負的bufsize意味著使用系統...

iOS新增另乙個控制器的時候要注意啊

ios的父控制器控制器和子控制器之間的注意點 warning 需要把新建立出來的控制器新增成子控制器.不然子控制器裡面的子控制項無法響應點選事件 乙個控制器 uiviewcontroller 裡面在點選導航欄右上角按鈕的時候要以動畫形式來切換另乙個控制器 lcmapviewcontroller 當時...