当UIView高度设置为零时,视图的子控件不会隐藏

时间:2016-03-23 05:00:31

标签: ios objective-c animation uiview

我想要抽屉动画。所以我拿了1个UIView并在UIView中添加了4个控件。 现在当我点击抽屉按钮时,在抽屉关闭时设置视图高度为零,在抽屉打开时设置视图高度200。

当我设置零高度时,按钮不会隐藏。所有按钮都可见。 自动布局不在我的项目中。

如何解决这个问题。

-(IBAction)Onclick_drawer:(id)sender
{
    if(is_open)
    {
        is_open=false;
        [UIView animateWithDuration:0.3
                              delay:0.0
             usingSpringWithDamping:1.0
              initialSpringVelocity:4.0
                            options: UIViewAnimationOptionCurveEaseInOut
                         animations:^{

                             self.drawer_view.frame=CGRectMake(0, 64, 320,200);
                         }
                         completion:^(BOOL finished){

                         }];
        [UIView commitAnimations];
    }

    else
    {
        is_open=true;
        [UIView animateWithDuration:0.3
                              delay:0.0
             usingSpringWithDamping:1.0
              initialSpringVelocity:4.0
                            options: UIViewAnimationOptionCurveEaseInOut
                         animations:^{
                             self.drawer_view.frame=CGRectMake(0, 64, 320, 0);
                         }
                         completion:^(BOOL finished){

                         }];
        [UIView commitAnimations];
    }


}

3 个答案:

答案 0 :(得分:11)

签入xib ... select view -> attribute inspector -> check clip Subviews,如下图

enter image description here

或以编程方式使用

   self.yourview.clipsToBounds = YES;

答案 1 :(得分:2)

只需选择视图,然后转到屏幕右侧的属性检查器

选中Clip Subviews

复选框

enter image description here

答案 2 :(得分:1)

function hello() {
  StringBuffer Id = new StringBuffer(20);
  Id.append("");
  for (i = 1; i < 10; i++) {
    Id.append(i);
  }
  System.out.println(Id);
}