Ios 父视图在解除模态视图控制器后更改其框架

Ios 父视图在解除模态视图控制器后更改其框架,ios,objective-c,Ios,Objective C,我有两个视图控制器。当我在“A”视图控制器中以模态方式呈现“B”视图控制器,然后将其关闭时,“A”视图控制器中的视图将其帧从{0,0}、{320,480}更改为{0,0}、{0,0}。所有子视图不会更改其位置,但不会响应 控制器“A”代码: - (void)viewDidLoad { [super viewDidLoad]; self.view.translatesAutoresizingMaskIntoConstraints = NO; self.logoImageVi

我有两个视图控制器。当我在“A”视图控制器中以模态方式呈现“B”视图控制器,然后将其关闭时,“A”视图控制器中的视图将其帧从{0,0}、{320,480}更改为{0,0}、{0,0}。所有子视图不会更改其位置,但不会响应

控制器“A”代码:

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.translatesAutoresizingMaskIntoConstraints = NO;
    self.logoImageView.translatesAutoresizingMaskIntoConstraints = NO;
    self.view.backgroundColor = WHITE_C;
    buttonHeight = self.view.frame.size.height/5;
    buttonYPosition = self.view.frame.size.height - buttonHeight;
    buttonW = self.view.frame.size.width/2;
    [self configureButtons];
}

- (void) viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
}

- (void) viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
}

- (void) auth {
    [self performSegueWithIdentifier:segueToAuth sender:self];
}
控制器“B”代码:

- (void)viewDidLoad {
    [super viewDidLoad];
    self.navigationController.navigationBar.barTintColor = ORANGE_C;

    UIImage * backArrow = [UIImage imageNamed:@"back_orange.png"];
    UIBarButtonItem * back = [[UIBarButtonItem alloc] initWithImage:backArrow style:UIBarButtonItemStylePlain target:self action:@selector(backToWelcomeScreen)];
    [self.navigationItem setLeftBarButtonItems:@[back]];
}

#pragma mark - Buttons

- (void) backToWelcomeScreen {
    [self dismissViewControllerAnimated:YES completion:nil];
}
有人知道为什么会这样吗


我试图通过
viewdide:
将框架设置回原来的位置,但什么也没有发生。

您的分隔器视图宽度和高度取决于按钮大小,您只在视图中设置按钮大小。下次设置视图框架时,加载按钮大小为零的问题在于:

self.view.translatesAutoResizengMaskintoConstraints=否;
self.logoImageView.translatesAutoResizengMaskintoConstraints=否


删除应用程序后效果很好。

你在使用自动布局吗?@Vishu不,我没有使用。你是如何设置
A
B
?@Wongzigi的Storyboard@Vishu对不起,我理解你的问题不正确。是的,我使用自动布局。