我被要求在类似于滚动视图的对象内的图像上放置一些按钮。
添加这些按钮没有问题,但是当我将图像捏得更小或更大时,按钮相对于图像的位置正在改变。
我怎样才能让它留下来?
有没有办法使用myButton.frame = CGRectMake(30%,30%,x,y);
或类似的东西?
我被要求在类似于滚动视图的对象内的图像上放置一些按钮。
添加这些按钮没有问题,但是当我将图像捏得更小或更大时,按钮相对于图像的位置正在改变。
我怎样才能让它留下来?
有没有办法使用myButton.frame = CGRectMake(30%,30%,x,y);
或类似的东西?
不能CGRectMake
以百分比指定参数。我相信您的问题的解决方案在于UIViewAutoResizingMask
财产。将其设置为UIViewAutoResizingNone
可能会奏效。
myButton.autoresizingMask = UIViewAutoresizingNone;
在任何情况下,按钮都不应该将 resizingMask 值设置为任何边距,否则它们将保持边距宽度不变。
编辑: 另一种方法是覆盖 layoutSubviews 方法,当你的 imageView/scrollView 调整大小时应该调用它:
- (void) layoutSubviews
{
[super layoutSubviews];
for (UIView *view in self.subviews) { // Go through all subviews
if (view == scrollView) { // Find the scrollView object you want
//then find the scrollView's frame size and reposition the button objects
}
}
}