我在我的应用程序中使用 AutoLayOut 。我将UIView从左侧添加到我的视图控制器。点击按钮我从左侧打开视图。我的UIView被命名为sideView。要打开sidemenu,以下是我的代码。
- (IBAction)openSideMenu:(UIButton *)sender {
[self.sideView setFrame:CGRectMake(0 - self.view.frame.size.width, 0, self.view.frame.size.width, self.view.frame.size.height)];
[UIView beginAnimations:@"OpenFromLeftSide" context:nil];
[UIView setAnimationDuration:0.4];
[self.sideView setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
[UIView commitAnimations];
}
为了关闭sideMenu我在sideMenu中有按钮。单击按钮,我将关闭sidemenu,如下所示:
- (IBAction)closeSideMenu:(UIButton *)sender {
[UIView beginAnimations:@"CloseSideMenu" context:nil];
[UIView setAnimationDuration:0.4];
[self.sideView setFrame:CGRectMake(0 - self.view.frame.size.width, 0, self.view.frame.size.width, self.view.frame.size.height)];
[UIView commitAnimations];
}
以上两个功能都正常工作。
现在问题是我分配给sidemenu(SubView)里面的按钮的约束。 我为sidemenu分配了3个约束。
超级视图的顶层空间
超级视图的底部空间。
将右边设置为superview,即sidemenu
但是第3个约束没有正确显示。在模拟器中,按钮的右边缘未设置为我的视图的右边缘(Sidemenu)
任何人都可以告诉我如何设置约束,我的按钮可以严格地附加到子视图(sidemenu)的右边缘。