我有一个带有UIImageview的UIScrollview,里面显示了平面图。我在scrollview中也有一个UIButton作为标记/引脚。
我已经在图像上使用捏合/双击进行缩放,但是当图像滚动和/或缩放时,UIButton元素显然不会移动。
我已尝试以下代码尝试在完成缩放时重新定位按钮:
[myButton setFrame:CGRectMake(
(myButton.frame.origin.x - myButton.frame.size.width / 2) * _scrollView.zoomScale,
(myButton.frame.origin.y - myButton.frame.size.height / 2) * _scrollView.zoomScale,
myButton.frame.size.width, myButton.frame.size.height)];
这会将按钮移动到左上角。
有没有人知道我应该做些什么来保持按钮相对于图像(与标记在Google地图上的行为相同)。
答案 0 :(得分:0)
我最近回答了question very similar to this。如果您不需要实时更新(仅在完成缩放时更新),那么您应该能够使用此处概述的方法。
答案 1 :(得分:0)
好的,这可以通过以下方式解决:
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setBackgroundImage:[UIImage imageNamed:@"Marker.png"] forState:UIControlStateNormal];
button.frame = CGRectMake(640.0, 230.0, 30.0, 46.0);
[button addTarget:self action:@selector(aMethod:)forControlEvents:UIControlEventTouchUpInside];
[self.imageView addSubview: button];
self.imageView.userInteractionEnabled = YES;
基本上,通过直接向imageView添加按钮然后启用userInteraction,我就能够获得所需的所有功能。