单击按钮会显示视图。一旦我单击按钮,视图就会向左移动

Posted

技术标签:

【中文标题】单击按钮会显示视图。一旦我单击按钮,视图就会向左移动【英文标题】:A view is presented on the click of a button. As soon as i click on the button, the view moves at the left 【发布时间】:2014-02-26 10:25:09 【问题描述】:

在我的项目中,我有一个显示视图控制器的按钮(transitionStyle 是coverVertical,modalPresentationStyle 是FormSheet)。我希望视图应该显示在中心,但是单击按钮时,视图会在左侧打开,然后当键盘被放下时,它会在中心移动。谁能告诉我为什么?我用过 viewController.view.superview.center = self.view.center;

查看我在单击按钮时添加的 presentingViewController 代码。

【问题讨论】:

请提供一些代码。 viewController.modalPresentationStyle = UIModalPresentationFormSheet; viewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical; [self presentViewController:viewController 动画:YES 完成:nil]; viewController.view.superview.frame = CGRectMake(0, 0, 540, 650); viewController.view.superview.center = self.view.center; viewController.delegate = self; 这是单击按钮时呈现视图的代码 请编辑您的问题并插入您的代码,并使用工具使您的问题可读。如果您的问题不明确,将被否决。 @AncAinu:检查我编辑的问题。我已经放了代码。 【参考方案1】:

试试这个,看看是否有效

 viewcontroller.view.superview.frame = CGRectMake((self.view.centre.x-540)/2, (self.view.centre.y-650)/2, 540, 650);

【讨论】:

没有。那是行不通的。它给了我不兼容的类型错误。【参考方案2】:

我得到了我的问题的答案。而不是使用

[self presentViewController:vcRevaluateInventory animated:YES completion:nil];

为了呈现视图,只需使用

[self presentViewController:vcRevaluateInventory animated:YES completion:^
        vcRevaluateInventory.view.superview.bounds = vcRevaluateInventory.view.frame;
    ];

【讨论】:

以上是关于单击按钮会显示视图。一旦我单击按钮,视图就会向左移动的主要内容,如果未能解决你的问题,请参考以下文章

单击按钮时刷新片段视图

iPhone,在表格视图中单击编辑/完成按钮的钩子

项目列表视图中的按钮,单击它会显示一个上下文菜单

关闭并显示按钮上的视图单击从另一个视图

在 iOS 中单击按钮时,如何在视图控制器顶部显示视图?

单击单元格按钮时如何显示视图