如何連接控制器A內部的UIButton,以便使用故事板打開包含在控制器A(位於「容器視圖」內部)的控制器B?在控制器A中,通過UIButton打開包含的控制器B
即控制器B只佔用控制器A區域的一部分。控制器A仍然部分可見。
背景: 將控制器B添加到另一個控制器A內的容器視圖時,默認會在控制器A加載後立即打開控制器B.我希望首先隱藏控制器B,然後通過輕按按鈕打開控制器B.
如何連接控制器A內部的UIButton,以便使用故事板打開包含在控制器A(位於「容器視圖」內部)的控制器B?在控制器A中,通過UIButton打開包含的控制器B
即控制器B只佔用控制器A區域的一部分。控制器A仍然部分可見。
背景: 將控制器B添加到另一個控制器A內的容器視圖時,默認會在控制器A加載後立即打開控制器B.我希望首先隱藏控制器B,然後通過輕按按鈕打開控制器B.
分解視圖生命週期的筆尖/故事板啓動資源將在這裏幫助。
在創建和加載控制器B之後,但在顯示之前,您需要隱藏控制器B的視圖。然後,爲了迴應某個動作,您需要取消隱藏該視圖(或進行一些更有趣的演示)。
通常你會控制器A內聲明一個屬性:
@property (weak, nonatomic) IBOutlet ControllerB *controllerB;
你在故事板線了。 現在您可以參考您的controllerB實例,您可以從controllerA的代碼中使用該實例。
由於您已將控制器B的視圖嵌套在故事板中控制器A的視圖層次結構內,因此您的controllerB實例將存在,並且只要在controllerA上調用-viewDidLoad就可以進行操作。
- (void)viewDidLoad
{
[_controllerB.view setHidden:YES];
//other setup and configuration of controllerA
}
你可以在viewWillAppear中做到這一點,或其他一些地方,但只要你隱藏controllerB.view -viewDidAppear叫之前,你會被罰款。
然後,你必須controllerA迴應按鈕推動這樣的事情:
- (IBAction)userPressedTheButton:(id)sender
{
[_controllerB.view setHidden:NO];
}
這是一個非常簡單的東西。你可以爲容器視圖
@property (weak, nonatomic) IBOutlet UIView *containerView;
在viewDidLoad
形成一出口只是將其隱藏
- (void)viewDidLoad
{
[super viewDidLoad];
self.containerView.hidden = YES;
// Do any additional setup after loading the view, typically from a nib.
}
取消隱藏按鈕點擊
不要假設你有一個形象展示你的意思 – AppHandwerker