簡體   English   中英

如何在一個視圖控制器中將xib加載到兩個容器視圖中

[英]How to load xib into two Container Views within one view controller

我想創建一個單人單圈計時器xib / class,並將其兩次加載到我的故事板上的單個View Controller中。 兩個實例中的每一個都將用於在單個ViewController上計時和比較兩個人的圈速。

我在故事板視圖控制器(LapCounterViewController)中並排布置了兩個容器視圖

我還創建了一個xib和類文件作為單人計時器(LapCounterNibViewContainer)

如何創建LapCounterNibViewContainer的兩個實例並將其放入每個容器視圖中

_vc1 = [[LapCounterNibViewController alloc] initWithNibName:@"LapCounterNibViewController"  bundle:nil];
_vc1.view.frame = self.LapCounterFrame1.frame;
//_vc1.delegate = self;

[_LapCounterFrame1 addChildViewController:_vc1];
[_vc1 didMoveToParentViewController:self];
[self.view addSubview: _vc1.view];

在此處輸入圖片說明

在此處輸入圖片說明

在情節提要中,您可以將兩個容器視圖添加到同一視圖控制器,然后通過右鍵單擊並選擇嵌入將它們都與同一子視圖控制器連接。 這樣創建了segue:

嵌入segue屏幕截圖

單擊segue並為其指定一個標識符。 然后,將prepareForSegue方法添加到父視圖控制器,並根據需要分別設置圈速計時器的一些屬性。

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segueName isEqualToString: @"embedSegueToLapTimerOne"]) {
        LapCounterNibViewController * childViewController = (LapCounterNibViewController *) [segue destinationViewController];
        [childViewController setFoo:bar1];
    }
    if ([segueName isEqualToString: @"embedSegueToLapTimerTwo"]) {
        LapCounterNibViewController * childViewController = (LapCounterNibViewController *) [segue destinationViewController];
        [childViewController setFoo:bar2];
    }
    }

暫無
暫無

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

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