Iphone 帧内相对点

Iphone 帧内相对点,iphone,Iphone,我被要求在一个类似于scrollview的对象内的图像上放置一些按钮 添加这些按钮没有问题,但是当我将图像缩小或放大时,按钮相对于图像的位置会发生变化 我怎样才能让它停留 有没有办法使用myButton.frame=CGRectMake(30%,30%,x,y)或类似的东西?您不能以百分比指定CGRectMake参数。我相信您的问题的解决方案在于UIViewAutoResizingMask属性。将其设置为uiviewAutoResizingOne可能会起作用 myButton.autoresiz

我被要求在一个类似于scrollview的对象内的图像上放置一些按钮

添加这些按钮没有问题,但是当我将图像缩小或放大时,按钮相对于图像的位置会发生变化

我怎样才能让它停留


有没有办法使用myButton.frame=CGRectMake(30%,30%,x,y)或类似的东西?

您不能以百分比指定
CGRectMake
参数。我相信您的问题的解决方案在于
UIViewAutoResizingMask
属性。将其设置为
uiviewAutoResizingOne
可能会起作用

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

        }
    }
}

你的意思是我应该将我的scrollView.autoresizingmask设置为none?不,不是scrollView,而是它的子视图(相对于scrollView的大小应该保持在相同位置的按钮)。我尝试了scrollView按钮和self.autoresizingmask。。。不起作用。那么解决方案必须是重写
layoutSubviews
方法。让我在几分钟内编辑我的答案。你的问题解决得好吗?