当我从纵向模式切换到横向模式时,视图应该广泛扩展,但长度应该相同并且在滚动视图中,这样当我滚动时,应显示完整的内容:
if (([[UIDevice currentDevice]orientation] == UIInterfaceOrientationLandscapeLeft) ||
([[UIDevice currentDevice]orientation] == UIInterfaceOrientationLandscapeRight))
{
UIScrollView *scrollView=[[UIScrollView alloc] init];
UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 480, 480)];
view1 = self.view;
[scrollView addSubview:view1];
scrollView.frame = CGRectMake(0, 0, 480, 480);
scrollView.contentSize = CGSizeMake(480, 480);
scrollView.delegate = self;
scrollView.alwaysBounceVertical = YES;
[self.view addSubview:scrollView];
}
答案 0 :(得分:0)
请更新您的问题,例如更多信息 - 什么是和不工作?不要将更新添加为评论,请编辑您的问题。
在您现有的代码中,至少这是错误的/困惑的:
UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 480, 480)];
view1 = self.view;
您正在为第一行中的新视图指定一个指针,然后将其重新分配给第二行中的现有self.view。然后在这里:
[self.view addSubview:scrollView];
您要将包含内容视图的滚动视图添加到同一内容视图中。那不行。
作为一个更清洁的解决方案,为什么不为两个方向设置scrollview / subview组合。然后当你旋转时,你只需要改变你的scrollview的内容。
对于正常的直立方向:
self.scrollview.contentSize = self.scrollview.bounds.size;
对于风景:
self.scrollview.contentSize =
CGSizeMake(self.scrollView.bounds.size.width, self.contentView.bounds.size.height
(假设您的内容位于scrollView中包含的名为contentView的视图中)
您应该能够让contentOffset
在故事板中为两个方向正常工作,但如果没有,您可以在代码中为每个方向设置它。
答案 1 :(得分:0)
if(([[UIDevice currentDevice]orientation] == UIInterfaceOrientationLandscapeLeft) || ([[UIDevice currentDevice]orientation] == UIInterfaceOrientationLandscapeRight)) {
UIScrollView * scrollView=[[UIScrollView alloc] init]; UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 480, 480)];
view1 = self.view; [scrollView addSubview:view1]; scrollView.frame = CGRectMake(0, 0, 480, 480);
scrollView.contentSize = CGSizeMake(480, 480); scrollView.delegate = self;
scrollView.alwaysBounceVertical = YES; [self.view addSubview:scrollView];
}