我有一个子类UIView
,我将其称为MyView
. setFrame
任何人都可以通过以下方式识别覆盖的任何可能的不良副作用:
- (void) setFrame:(CGRect)newFrame {
CGPoint newCentre;
newCentre.x = newFrame.origin.x + newFrame.size.width / 2.f;
newCentre.y = newFrame.origin.y + newFrame.size.height/ 2.f;
[super setCenter:newCentre];
newFrame.origin = CGPointZero;
if (CGSizeEqualToSize(newFrame.size, self.bounds.size) == NO) {
[super setBounds:newFrame];
}
}
我知道上面是一个非常奇怪的实现,并且不想讨论我为什么[super setFrame]
不使用- 但我很想知道不使用超级实现是否有任何后果?