An infinite scroll control implemented with two views, supporting custom reuse of views.
-
Objective-C
- iOS 8.0+
-
Swift
- iOS 9.0+
- Swift 4.0+
- Supports infinite scrolling.
- Reuse with two views.
- Support for custom reuse views.
- Objective-C
LCInfiniteScrollView *v = [[LCInfiniteScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 300)];
v.backgroundColor = UIColor.brownColor;
v.delegate = self;
v.autoScroll = YES;
[self.view addSubview:v];
- Swift
let banner = LCInfiniteScrollView(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: 200))
banner.delegate = self
banner.autoScroll = true
self.view.addSubview(banner)
- Objective-C
- (UIView *)reusableViewInInfiniteScrollView:(LCInfiniteScrollView *)infiniteScrollView {
UILabel *label = [UILabel new];
label.font = [UIFont boldSystemFontOfSize:30];
label.textAlignment = NSTextAlignmentCenter;
return label;
}
- (void)infiniteScrollView:(LCInfiniteScrollView *)infiniteScrollView displayReusableView:(UIView *)reusableView atIndex:(NSInteger)index {
UILabel *label = (UILabel *)reusableView;
label.text = @(index).stringValue;
label.backgroundColor = (UIColor *)self.colors[index];
}
- Swift
func infiniteScrollView(_ infiniteScrollView: LCInfiniteScrollView, displayReusableView view: UIView, forIndex index: Int) {
view.backgroundColor = colors[index]
}
func reusableView(in infiniteScrollView: LCInfiniteScrollView) -> UIView {
return UIView()
}
To integrate LCInfiniteScrollView into your Xcode project using CocoaPods, specify it in your Podfile
:
- Objective-C
pod 'LCInfiniteScrollView'
- Swift
pod 'SwiftInfiniteScrollView'
- Objective-C
- Download everything in the LCInfiniteScrollView folder;
- Add (drag and drop) the source files in LCInfiniteScrollView to your project.
- import
LCInfiniteScrollView.h
.
- Swift
- Download everything in the LCInfiniteScrollView folder;
- Add (drag and drop) the source files in SwiftInfiniteScrollView to your project.
LCInfiniteScrollView is provided under the MIT license. See LICENSE file for details.