All Projects → 1amageek → Paperkit

1amageek / Paperkit

Licence: other
PaperKit is like Paper app of Facebook

Labels

Projects that are alternatives of or similar to Paperkit

Betonquest
An advanced and powerful quest scripting plugin for Minecraft. Features built-in RPG style conversations and integration for over 25 other plugins.
Stars: ✭ 121 (-23.42%)
Mutual labels:  paper
Diffwave
DiffWave is a fast, high-quality neural vocoder and waveform synthesizer.
Stars: ✭ 139 (-12.03%)
Mutual labels:  paper
Minet
CVPR2020, Multi-scale Interactive Network for Salient Object Detection
Stars: ✭ 155 (-1.9%)
Mutual labels:  paper
Catserver
Spiritual inheritance of mcpc+/thermos/Cauldron, full support spigot/sponge/forge/bukkit/paper API
Stars: ✭ 127 (-19.62%)
Mutual labels:  paper
Timings
Source to the Aikar's Minecraft Timings Viewer
Stars: ✭ 132 (-16.46%)
Mutual labels:  paper
E2e Model Learning
Task-based end-to-end model learning in stochastic optimization
Stars: ✭ 140 (-11.39%)
Mutual labels:  paper
Commandapi
An API for the command UI introduced in Minecraft 1.13
Stars: ✭ 116 (-26.58%)
Mutual labels:  paper
Best ai paper 2020
A curated list of the latest breakthroughs in AI by release date with a clear video explanation, link to a more in-depth article, and code
Stars: ✭ 2,140 (+1254.43%)
Mutual labels:  paper
Paper
Lightning Network Paper
Stars: ✭ 136 (-13.92%)
Mutual labels:  paper
Music Dance Video Synthesis
(ACM MM 20 Oral) PyTorch implementation of Self-supervised Dance Video Synthesis Conditioned on Music
Stars: ✭ 150 (-5.06%)
Mutual labels:  paper
3pu
Patch-base progressive 3D Point Set Upsampling
Stars: ✭ 131 (-17.09%)
Mutual labels:  paper
Yolo Powered robot vision
Stars: ✭ 133 (-15.82%)
Mutual labels:  paper
Pixel Cnn
Code for the paper "PixelCNN++: A PixelCNN Implementation with Discretized Logistic Mixture Likelihood and Other Modifications"
Stars: ✭ 1,774 (+1022.78%)
Mutual labels:  paper
Finetune Transformer Lm
Code and model for the paper "Improving Language Understanding by Generative Pre-Training"
Stars: ✭ 1,605 (+915.82%)
Mutual labels:  paper
Tacotron 2
DeepMind's Tacotron-2 Tensorflow implementation
Stars: ✭ 1,968 (+1145.57%)
Mutual labels:  paper
Phd
A list of resources on how/why to do a PhD
Stars: ✭ 120 (-24.05%)
Mutual labels:  paper
Wavegrad
A fast, high-quality neural vocoder.
Stars: ✭ 138 (-12.66%)
Mutual labels:  paper
Daily Paper Visual Tracking
记录每天整理的视觉目标跟踪论文
Stars: ✭ 158 (+0%)
Mutual labels:  paper
Cam board
Turn web cam into a black / white board
Stars: ✭ 157 (-0.63%)
Mutual labels:  paper
Paper
🌈 一个类纸风的主题paper🎉(still updating...)
Stars: ✭ 142 (-10.13%)
Mutual labels:  paper

PaperKit

PaperKit is Framework that can easily create a Facebook's Paper.It can be created to operate the CollectionView of UIKit.

Version Platform License

sample

Try Sample

requirement : Xcode7 beta4

$ pod try PaperKit

Alternatively, appetize.io

Quick start

PaperKit is available on CocoaPods. Add the following to your Podfile:

pod 'PaperKit'

Import the framework header, or create an Objective-C bridging header if you're using Swift:

# import <PaperKit/PaperKit.h>

Inherit the PKViewController

@interface ViewController : PKViewController

Usage

PKViewController

The PKViewController there are multiple CollectionView. To control the respective CollectionViewController, override the following method.

- (NSInteger)backgroundCollectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    // override method
    return 10;
}

- (NSInteger)foregroundCollectionVew:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section onCategory:(NSInteger)category
{
    // override method
    return 10;
}
- (UICollectionViewCell *)backgroundCollectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];
    CGFloat color = floorf(indexPath.item)/[self backgroundCollectionView:collectionView numberOfItemsInSection:indexPath.section];
    cell.backgroundColor = [UIColor colorWithHue:color saturation:1 brightness:1 alpha:1];
    return cell;
}

- (PKContentViewController *)foregroundCollectionView:(PKCollectionView *)collectionView contentViewControllerForAtIndexPath:(NSIndexPath *)indexPath onCategory:(NSUInteger)category
{
    NSLog(@"indexPaht %@ cateogry %lu",indexPath, (unsigned long)category);
    return [ContentViewController new];
}

You can use the method for Datasource reload. This method is called when you pull beyond the contentSize of scroll view.

- (void)scrollView:(UIScrollView *)scrollView slideToAction:(PKCollectionViewControllerScrollDirection)direction;
{
    if (direction == PKCollectionViewControllerScrollDirectionPrevious) {
        NSLog(@"PKCollectionViewControllerScrollDirectionPrevious");
    } else {
        NSLog(@"PKCollectionViewControllerScrollDirectionNext");
    }
}

To reload the datasource, run the following method.

// backgroundCollectionView dataSource reload
[self reloadBackgroundData];

// foregroundCollectionView dataSource reload
[self reloadForegroundDataOnCategory:self.selectedCategory];

PKWindow

PKWindow can be hierarchically arranged the Window. PKWindow is managed by PKWindowManager.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    BackgroundViewController *backgroundViewController = [BackgroundViewController new];
    self.window.rootViewController = backgroundViewController;
    [self.window makeKeyAndVisible];
    
    [PKWindowManager managerWithBaseWindow:self.window];
        
    return YES;
}

Create a new Window by passing the RootViewController to PKWindowManger.

ViewController *nextViewController = [ViewController new];
[[PKWindowManager sharedManager] showWindowWithRootViewController:nextViewController];

Learn more

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].