1.前言:項目中需要在UIScrollView滾動時,某個控件保持位置不變,一般來說放到self.view上即可,但是這里必須要放到UIScrollView上,這樣的話就隨着滾動而滾動了
2.想法:於是我寫了一個繼承了UIScrollView的類,很簡單,用layoutSubviews解決了
3.代碼:
- (void)layoutSubviews { [super layoutSubviews]; for (UIView *view in self.subviews) { if ([view isKindOfClass:[UILabel class]]) { CGRect rect = view.frame; rect.origin.y = 50 + self.contentOffset.y; view.frame = rect; } } }
ps:有些東西看起來很簡單,但是卻很難想的到。
順手寫了個demo