我被要求在与滚动视图类似的对象内的图像上放置一些按钮。
添加这些按钮没有问题,但是当我将图像捏合到较小或较大时,按钮相对于图像的位置会发生变化。
我怎样才能留下来?
有没有办法使用myButton.frame = CGRectMake(30%,30%,x,y);
或类似的东西?
答案 0 :(得分:0)
您无法以百分比指定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
}
}
}