3
下面的代碼完美地工作在iOS 7.1的CGRect的SETFRAME丟失原始值8.0
UIView *superView = self.superview;
[self removeFromSuperview];
CGFloat rightMarginWidth = self.rightMarginWidth ? self.rightMarginWidth : defaultRightMarginWidth;
CGRect newFrame = CGRectMake(self.frame.origin.x, self.frame.origin.y, self.frame.size.width + rightMarginWidth, self.frame.size.height);
//assign a new frame
self.frame = newFrame;
[superView addSubview:self];
然而,在iOS 8.0,假設newFrame的是原點=(X = 30,Y = 29)大小=(寬度= 127,高度= 34)。分配後,self.frame
成爲原點=(x = 0,y = 0)size =(width = 127,height = 34)。
爲什麼「原點」值在這裏丟失?
爲什麼你從上海華刪除認爲,只有重新添加呢?只是改變它的框架。 – 2014-09-19 23:08:36
@LeoNatan只是改變框架,不這樣做會導致自動佈局約束衝突。 – DavidLiu 2014-09-20 05:55:30
如果有自動佈局,您不應該改變框架。 – 2014-09-20 08:35:15