我正在开发一个包含两个UIImageView
s 的视图控制器。底部图像视图包含一张照片(由用户拍摄或选择)。第二个图像视图位于此之上,也占据了整个屏幕。
第二个图像视图包含一个指针(下例中的绿点)。它用作可以在屏幕上定位的可移动视图。它的用途是在它后面的照片上标记一个位置/点。
在 Portrait 中这很好用,底部图像视图设置为 image = Aspect Fill。因此拍摄的照片占据了整个屏幕。
在横向方向上,这也不起作用。我可以用一个更好的解释
下面画得不好
例如,如果用户在纵向视图上选择一个点(由绿点显示),则大致位置为 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
如何从这些结果中确定中心点相对于底部图像坐标的位置?