0
我想要做的是。讓一個tableView繼承自定義scrollview委託
- 覆蓋滾動視圖的委託方法(例如,scrollViewDidEndDragging)
- 使用它爲我的滾動視圖&的tableView
我現在有什麼,
- MyScrollView的委託將覆蓋scrollViewDidEndDragging
- MySuperTableViewController(UITableView的子類)重寫了scrollVie wDidEndDragging,讓MySuperTableViewController
顯然,同樣的scrollViewDidEndDragging代碼被複制在兩個地方MyChildTableViewController子,我怎麼可以將代碼放在一個地方,分享嗎?
下面是我想分享我的滾動視圖和的tableView
#import "OverlayTableViewController.h"
@interface OverlayTableViewController()
{
CADisplayLink *_displayLink;
}
@end
@implementation OverlayTableViewController
-(void)scrollViewWillBeginDragging:(UIScrollView*)scrollView
{
[self startDisplayLinkIfNeeded];
}
- (void)scrollViewDidEndDragging:(UIScrollView*)scrollView willDecelerate:(BOOL)decelerate
{
if(!decelerate)
[self stopDisplayLink];
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
[self stopDisplayLink];
}
- (void)startDisplayLinkIfNeeded
{
if(!_displayLink)
{
_displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(display)];
[_displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:UITrackingRunLoopMode];
}
}
- (void)stopDisplayLink
{
[_displayLink invalidate];
_displayLink = nil;
}
- (void)display
{
//
}
@end
威力最好發佈一些代碼。 – danh 2012-07-19 04:12:19
@danh:添加了一些代碼。 – eugene 2012-07-19 04:19:27
我現在明白了。謝謝。 – danh 2012-07-19 04:29:48