我正在一个视图控制器,其中包含两个UIImageView
s。底部图像视图保存照片(由用户拍摄或选择)。第二个图像视图位于此之上,占据了整个屏幕。使用点和多个图像视图
第二个图像视图包含一个指针(下例中为绿点)。它用作可移动视图,可以在屏幕上定位。它的用途是在背后的照片上标记一个位置/点。
在肖像这工作正常,底部图像视图设置为图像=方面填充。因此拍摄的照片占据整个屏幕。
在横向方向,这不起作用。我可以在下面
解释与
严重绘制图像更好一点作为一个例子,如果用户选择在纵向视图的点(由绿点示出)大概位置是220,380。
但是,如果同一位置上的风景会不会对后面的照片相同的位置。
该点将转化为更多像280,300。
所以,问题是......当VC是定向的风景,我怎么确定(从底部的图像视图中),图像的高度和宽度,制定出的相同点?
或者是否有另一种方法/方法来完成此?
-------编辑---------- 我已经创建了一个测试应用程序,只有这个功能。我具有与上面详述的相同的设置。我已将日志添加到视图,并将方向更改为横向。下面是我使用的日志:
NSLog(@"bottom image view width: %f",self.photoImageView.frame.size.width); NSLog(@"bottom image view height: %f",self.photoImageView.frame.size.height); NSLog(@"bottom image view frame bounds X: %f",self.photoImageView.frame.origin.x); NSLog(@"bottom image view frame bounds Y: %f",self.photoImageView.frame.origin.y); NSLog(@"bottom image view bounds X: %f",self.photoImageView.bounds.origin.x); NSLog(@"bottom image view bounds Y: %f",self.photoImageView.bounds.origin.y); NSLog(@"---------BOTTOM IMAGE VIEW IMAGE DETAILS---------"); NSLog(@"bottom image view image width: %f",self.photoImageView.image.size.width); NSLog(@"bototm image view image height: %f",self.photoImageView.image.size.height); NSLog(@"bottom image view image frame bounds X: %f",self.photoImageView.image.accessibilityFrame.origin.x); NSLog(@"buttom image view image frame bounds Y: %f",self.photoImageView.image.accessibilityFrame.origin.y);
这些结果如下:
2013-07-30 14:58:23.013 SelectPhotoViewTest[3414:c07] ---------VIEW DETAILS--------- 2013-07-30 14:58:23.014 SelectPhotoViewTest[3414:c07] ---------BOTTOM IMAGE VIEW DETAILS--------- 2013-07-30 14:58:23.015 SelectPhotoViewTest[3414:c07] bottom image view width: 480.000000 2013-07-30 14:58:23.016 SelectPhotoViewTest[3414:c07] bottom image view height: 268.000000 2013-07-30 14:58:23.016 SelectPhotoViewTest[3414:c07] bottom image view frame bounds X: 0.000000 2013-07-30 14:58:23.017 SelectPhotoViewTest[3414:c07] bottom image view frame bounds Y: 0.000000 2013-07-30 14:58:23.018 SelectPhotoViewTest[3414:c07] bottom image view bounds X: 0.000000 2013-07-30 14:58:23.018 SelectPhotoViewTest[3414:c07] bottom image view bounds Y: 0.000000 2013-07-30 14:58:23.019 SelectPhotoViewTest[3414:c07] ---------BOTTOM IMAGE VIEW IMAGE DETAILS--------- 2013-07-30 14:58:23.019 SelectPhotoViewTest[3414:c07] bottom image view image width: 258.000000 2013-07-30 14:58:23.019 SelectPhotoViewTest[3414:c07] bototm image view image height: 480.000000 2013-07-30 14:58:23.020 SelectPhotoViewTest[3414:c07] bottom image view image frame bounds X: 0.000000 2013-07-30 14:58:23.021 SelectPhotoViewTest[3414:c07] buttom image view image frame bounds Y: 0.000000
如何从这些结果中得到,以确定中心点是相对于底部图像坐标?
谢谢,我认为第二个选项将是最好的实施。但是,两者都可以工作。我选择第二个的原因是因为顶部图像视图使用了过大的图像。这是为了说明imageview的移动,并确保视图总是在屏幕上,当完全移动到一侧时。然而,我不确定你在答案中是如何计算出这些例子的,你能否详细说明一下?我不确定如何从顶部图像视图的中心点到底部图像的图像坐标以及使用的方法。 – StuartM
顶部图像的中心点与整个屏幕还是自己的超级视图有关? – robinkunde
这将是在屏幕上的uiimageview的中心点 – StuartM