• Stars
    star
    559
  • Rank 79,673 (Top 2 %)
  • Language
    Objective-C
  • License
    MIT License
  • Created almost 10 years ago
  • Updated over 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A shape changing & physical ball pull-to-refresh.

KYJellyPullToRefresh

CocoaPods Version License Platform

##Usage

pod 'KYJellyPullToRefresh', '~> 1.1.0'

##How To Use

Firstly,in your ViewController or TableViewController,initiate the Jellview and the "displayLink" in the - (void)scrollViewDidScroll:(UIScrollView *)scrollView method: Like this:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if (self.displayLink == nil && (-scrollView.contentOffset.y - 64.5) > 0) {
        self.jellyView = [[JellyView alloc]initWithFrame:CGRectMake(0, -jellyHeaderHeight , [UIScreen mainScreen].bounds.size.width, jellyHeaderHeight)];
        self.jellyView.backgroundColor = [UIColor clearColor];
        [self.view insertSubview:self.jellyView aboveSubview:self.tableView];
        self.displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(displayLinkAction:)];
        [self.displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];
    }
}

Then you should change the controlPoint of the Bezier Path

-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{

    CGFloat offset = -scrollView.contentOffset.y - 64.5;
    if (offset >= 130) {
        self.jellyView.isLoading = YES;
        [UIView animateWithDuration:0.3 delay:0.0f usingSpringWithDamping:0.4f initialSpringVelocity:0.0f options:UIViewAnimationOptionCurveEaseInOut animations:^{
            
            self.jellyView.controlPoint.center = CGPointMake(self.jellyView.userFrame.size.width / 2, jellyHeaderHeight);
            NSLog(@"self.jellyView.controlPoint.center:%@",NSStringFromCGPoint(self.jellyView.controlPoint.center));
            self.tableView.contentInset = UIEdgeInsetsMake(130+64.5, 0, 0, 0);
        } completion:^(BOOL finished) {
            [self performSelector:@selector(backToTop) withObject:nil afterDelay:2.0f];
        }];
    }
}

Lastest,remove everything:

//动画结束,删除一切
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{

    if (self.jellyView.isLoading == NO) {
        [self.jellyView removeFromSuperview];
        self.jellyView = nil;
        [self.displayLink invalidate];
        self.displayLink = nil;
    }
}

Intro: http://kittenyang.com/cadisplaylinkanduibezierpath/

##License This project is under MIT License. See LICENSE file for more information.

More Repositories

1

KYGooeyMenu

A not bad gooey effects menu.
Objective-C
1,921
star
2

A-GUIDE-TO-iOS-ANIMATION

The source code of my new eBook —— A GUIDE TO IOS ANIMATION. Just click the next link to buy it
Objective-C
1,453
star
3

KYAnimatedPageControl

A custom UIPageControl with multiple animations
Objective-C
1,317
star
4

KYCuteView

Drag like a gooey bubble.
Objective-C
979
star
5

GooeyTabbar

A gooey effect tabbar
Swift
937
star
6

Animations

some test animations, just for fun.
Objective-C
629
star
7

KYWaterWaveView

实现波浪正弦动画并带有小鱼跳跃溅起水花。A view with water wave animation inside.
Objective-C
515
star
8

KYElegantPhotoGallery

An elegant photo gallery. It will zoom from a thumb image and you can pan to dismiss it with cool animation.
Objective-C
423
star
9

DynamicMaskSegmentSwitch

A segment switcher with dynamic text mask effect
Swift
309
star
10

Longinus

A pure Swift high-performance asynchronous image loading framework. SwiftUI supported.
Swift
302
star
11

KYTilePhotoLayout

A UICollectionViewLayout with a really interesting image layout algorithm.
Objective-C
228
star
12

KYPingTransition

实现圆圈放大放小的转场动画
Objective-C
205
star
13

KYMagicMove

在iOS中实现Keynote中神奇移动的过渡效果
Objective-C
194
star
14

KYBezierBounceView

实现手势控制贝塞尔曲线的左右菜单并带有重力反弹效果
Objective-C
136
star
15

KYAsyncLoadBubble

A bubble which can async-load web content without interrupt your current process.
Objective-C
113
star
16

KYPushTransition

一个3D翻转的转场动画
Objective-C
103
star
17

KYShareMenu

带弹性动画的分享菜单
Objective-C
86
star
18

KYFloatingBubble

类似iOS7中Game Center浮动气泡的效果。iOS7 Game Center Floating Bubble Effects.
Swift
82
star
19

KYParallaxView

一个使用简单同时又能高度自定义的视差滚动框架
Objective-C
73
star
20

ChatGPT-Mac-MenuBar

Chat with OpenAI's ChatGPT in mac menu bar like a pro.
Swift
72
star
21

KYJellyAnimation

实现类似Skype iOS App中果冻弹簧效果
Objective-C
58
star
22

KYVoiceCurve

类似Apple Watch中语音的声音曲线动画。The animating voice curve like Apple Watch
Objective-C
57
star
23

KYWeibo

调用新浪API自己写的第三方微博客户端
Objective-C
45
star
24

KYSelfSizingPushFixCategory

A UITableView Category for fixing the bug of 'Self-Sizing-Cell' when push to next ViewController the tableView position will change.
Ruby
30
star
25

KYCellAnimation

给UITableViewCell增加进入的动画
Objective-C
24
star
26

KYNewtonCradleAnimiation

牛顿摆动画
Objective-C
23
star
27

zigzag_wechat_bot

ZigZag 做市商微信机器人
TypeScript
19
star
28

KYPageControlTry

类似Smartisan OS首页的小圆点滚动效果
Objective-C
19
star
29

SpringPageView

使用POP
Objective-C
18
star
30

SafeSnap

An open-sourced Web3 iOS Application which combines Gnosis Safe and Snapshot together makes you easily manage your DAOs on your pocket.
Swift
17
star
31

PassbookCard

A card animation like Passbook.
Objective-C
15
star
32

SoundCloudWaveView

A controllable sound wave view like Sound Cloud.
Objective-C
15
star
33

KYTransition

A custom transition using UIViewControllerTransitioning
Objective-C
13
star
34

GooeyLoader

The implement of Scanner Gooey Effect: https://dribbble.com/shots/2156764-Scanner-Gooey-Effect-Firefly-Loader
Swift
12
star
35

DynamicBlurView

A high performance UIView-Class dynamic blur view like UITabbar or UINavagationBar, it can blur the view behind it.
Objective-C
12
star
36

WeiboEmotionView

The Weibo Emotion View you can use in replace of your keyboard.
Objective-C
11
star
37

FaceTrigger

An easy-to-use wrapper of ARKit Face Tracking API
Swift
9
star
38

RecordAppScreen

Record screen inside app.
Swift
9
star
39

SwiftQ-A

学习Swift过程中自己出的一些Q&A,方便巩固知识点。Swift learning Q&A.
Swift
8
star
40

KYDoubanFM

纯Swift第三方豆瓣FM客户端
Swift
7
star
41

FloatingVideoView

A floating video view test, seems like VVebo.
Objective-C
7
star
42

Performance-Optimization-PDF

The slices of Performance-Optimization presentation
6
star
43

CustomActivities

UIActivity extention for weibo/wechat/tencent
Objective-C
4
star
44

ElegantPhotoGallery

The swift version of KYElegantPhotoGallery.
4
star
45

charming-chatgpt

A raycast extension for charming-chatgpt
TypeScript
4
star
46

AnimatedPageControl

The swift version of KYAnimatedPageControl.
4
star
47

TapticEngineSample

A sample of how to use Taptic Engine API(UINotificationFeedbackGenerator/UIImpactFeedbackStyle/UIImpactFeedbackGenerator)
Swift
4
star
48

NewNextApp

My personal app.Still moving.
Makefile
3
star
49

KYDopePopup

A drop-in AlertViewController with dope animation.
Objective-C
3
star
50

AutoGPT.swift

AutoGPT with Swift
Swift
3
star
51

TenderCrashHandlerDemo

Tender crash solution.
Objective-C
3
star
52

KYVoiceCurve-Swift

KYVoiceCurve for Swift
Swift
2
star
53

KYMotionBlur

在iOS上实现一种特殊的视觉效果——运动模糊
2
star
54

KYNavigationTranstion

An easiest way of NavigationTransition.
1
star
55

SDThumbnailDecodingPeakMemoryTest

A demo to compare SD 5.x Thumbnail Decoding and SD 4.x Downsizing peak memory
Objective-C
1
star
56

kittenyang

1
star
57

QuickOpenCellular

Swift
1
star
58

NextApp

focus开发的一个完整的项目,不再继续,接力给NewNextApp继续开发。
Makefile
1
star
59

HowRegexWorks-Swift

用Swift学习正则表达式是如何工作的(笔记+源码)
Swift
1
star