1

我的视图右侧有一个子视图,它仅在横向模式下可见/在屏幕上(很像 Facebook 的聊天视图)。请注意,自动布局已关闭。

我想让用户通过向左滑动以纵向模式显示此视图。

在此处输入图像描述

这是在界面生成器中设置的视图的自动调整大小掩码:

在此处输入图像描述

红色视图仍然可见,但在红色视图的右侧和屏幕外。

改变它的框架没有任何效果,除非在返回横向模式之后,然后即使在转向纵向模式时视图也会保持它的位置。我猜这是因为它是调整大小蒙版,但将其设置为无也无济于事。

-(void)handlePanGesture:(UIPanGestureRecognizer*)pan
{    
  [self.rightSideView setFrame:CGRectMake(100, 0, 
                                          self.rightSideView.frame.size.width,
                                          self.rightSideView.frame.size.height)];
}
4

2 回答 2

0

视图的宽度从陆地空间的 256 像素变为纵向的 0。取消设置灵活宽度解决了这个问题

于 2013-05-23T06:20:02.807 回答
0

尝试这个:

dispatch_async(dispatch_get_main_queue(), ^{
                 [self.rightSideView setFrame:CGRectMake(100, 0, 
                                          self.rightSideView.frame.size.width,
                                          self.rightSideView.frame.size.height)];
            });
于 2013-05-22T15:16:14.817 回答