我有三個按鍵和一個UIView
(我稱之爲containerView
),點擊每個按鈕時,containerView
將顯示通過自定義賽格瑞在UIViewController
視圖,按鈕使用一個IBAction
方法(switchView
),我把這三個按鈕放在一個叫做navButtons
的IBOutletCollection
; 和viewDidLoad
我打電話switchView
使containerView
顯示第一個視圖控制器。IOS定製Segue公司和ContainerView
代碼運行良好,沒有錯誤,唯一的問題是當我點擊第一個按鈕時,第一個UIViewController
將顯示在containerView
,UIImageView(按鈕,標籤等)應該在屏幕的中心,但它在第一次加載時從不像這樣,當我點擊另一個按鈕時,再次點擊第一個按鈕,它的行爲如預期, 我不知道發生了什麼,第一次加載和再次點擊它們之間的區別是什麼。 是否有任何我在代碼中遺漏?
我不擅長英語,對不起有什麼不清楚的。
- (void)viewDidLoad {
[super viewDidLoad];
self.availableIdentifier = [[NSMutableArray alloc] initWithObjects:@"Seg1",@"Seg2",@"Seg3", nil];
[self switchView:self.navButtons[0]];
}
- (IBAction)switchView:(UIButton *)sender
{
[self setSelectedIndexs:(int)sender.tag];
}
- (void)setSelectedIndexs:(int)index
{
[self performSegueWithIdentifier:self.availableIdentifier[index] sender:self.navButtons[index]];
}
//Code of Custom Segue:
-(void)perform
{
ViewController *controller = (ViewController *)self.sourceViewController;
UIViewController *destController = (UIViewController *)self.destinationViewController;
for (UIView *view in controller.containerView.subviews)
{
[view removeFromSuperview];
}
controller.currentController = destController;
[controller.containerView addSubview:destController.view];
[controller.containerView setTranslatesAutoresizingMaskIntoConstraints:NO];
[destController didMoveToParentViewController:controller];
}
是的,這是重點,需要多做一點:將destController.view.frame的y設置爲0;感謝你的回答; –