单击按钮会显示视图。一旦我单击按钮,视图就会向左移动
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;
];
【讨论】:
以上是关于单击按钮会显示视图。一旦我单击按钮,视图就会向左移动的主要内容,如果未能解决你的问题,请参考以下文章