使用方向调整多个图像视图的大小

时间:2012-01-31 17:58:53

标签: iphone objective-c ios xcode uiinterfaceorientation

我正在创建一个通用iOS应用程序,除了其他功能之外,它还允许用户在触摸时生成UIImageViews。

我遇到的问题是,当我旋转设备时,创建的视图无法正确调整大小

我已将代码放入主视图控制器方法中,如下所示:

-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent *)event
{
 //first part - creating the frame

 view = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"MyImage.png"]];
 view.frame = CGRectMake(50, 50, 100, 100);
 [self.view addSubview:view];

 //second part - triggering image placement on touch

 UITouch *touch = [[event allTouches] anyObject];
 view.center = [touch locationInView:self.view];
}

有没有人知道我可以为动态创建的视图实现自动调整方法的任何方式?

我正在寻找的效果是:代替使用旧肖像坐标的图像,它们以某种方式调整大小,将方向更改为横向,以便它们在与纵向相对的位置都可见。

如果我使用的是界面构建器,那么这很容易,但在以编程方式执行此操作时,我找不到明显的解决方案。

这并不像为shouldAutorotateToInterfaceOrientation返回YES那么简单。

我已经检查了很多用于iOS开发的问题/答案资源,并且很多解决方案似乎都集中在动态创建的UIImageViews和框架上,例如在我的示例中。

如果有人能花时间为我提供解决方案,或者甚至只是指出我正确的方向,我将非常感激。

提前谢谢你,

1 个答案:

答案 0 :(得分:2)

相应地设置自动调整大小蒙版 每个UIView都有一个属性UIViewAutoresizing

view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;