Objective c ios8[view setFrame:rect]不工作

Objective c ios8[view setFrame:rect]不工作,objective-c,ios8,xcode6,ios7.1,Objective C,Ios8,Xcode6,Ios7.1,我无法以编程方式在ios8中重新定位uiview。以下代码在ios7.1中似乎运行良好,但在ios8中不起作用 此代码位于视图的layoutSubview函数中 for (UIView *child in self.subviews) { if((self.removeOnHide == YES && child.hidden == NO) || self.removeOnHide == NO) { top += self.sp

我无法以编程方式在ios8中重新定位uiview。以下代码在ios7.1中似乎运行良好,但在ios8中不起作用

此代码位于视图的layoutSubview函数中

 for (UIView *child in self.subviews)
    {
        if((self.removeOnHide == YES && child.hidden == NO)  || self.removeOnHide == NO) {
            top += self.spacing;
            switch (self.hAlignment)
            {
                case UIControlContentHorizontalAlignmentLeft:
                    left = self.leftMargin;
                    break;
                case UIControlContentHorizontalAlignmentRight:
                    left = self.frame.size.width - self.rightMargin
                    - child.frame.size.width;
                    break;
                default: // center
                    left = baseline - child.frame.size.width / 2;
                    break;
            }
            CGRect rect = child.frame;
            child.frame = CGRectMake(left, top, child.frame.size.width,
                                     child.frame.size.height);
            rect = child.frame;

            top += child.frame.size.height;
        }
    }

我正在使用这个git repos的代码。使用的代码在ios7.1中工作正常,但在ios8.0中不工作

Log self.vLayoutView,输出是什么?这是什么观点?这个代码什么时候调用?这是代码的确切位置。修复了它只需从autolayout中删除视图,然后就可以工作。因此,问题是我从interface builder中设置了auto layout中包含的视图,然后试图从代码中更改其属性。现在,由于它已经在自动布局中,更改没有得到反映。只需从@SiddhantJain的注释继续,您就可以拥有自动布局,并能够通过代码设置UIView的框架,方法是在要更新的UIView上设置translatesAutoResizezingMaskintoConstraints=YES。