ppa*_*ica 11 sdk facebook objective-c ios
我刚刚在Facebook SDK for iOS中看到他们最后调用[super layoutSubviews];而不是在layoutSubviews方法的开头.
据我所知,我们应该始终把它作为第一行.可以以不同的方式实现它会导致任何意外的UI行为吗?
- (void)layoutSubviews
{
CGSize size = self.bounds.size;
CGSize longTitleSize = [self sizeThatFits:size title:[self _longLogInTitle]];
NSString *title = (longTitleSize.width <= size.width ?
[self _longLogInTitle] :
[self _shortLogInTitle]);
if (![title isEqualToString:[self titleForState:UIControlStateNormal]]) {
[self setTitle:title forState:UIControlStateNormal];
}
[super layoutSubviews];
}
Run Code Online (Sandbox Code Playgroud)
查看代码,在[superlayoutSubviews]之前,它与框架无关。所以把它放在最后也可能效果很好。我猜编码员一定想要检查标题并根据某些规则修改标题,他认为每次调用layoutSubviews都是这样做的好机会,所以他把代码放在这里。
| 归档时间: |
|
| 查看次数: |
6787 次 |
| 最近记录: |