Skip to content

Instantly share code, notes, and snippets.

View kenshin03's full-sized avatar

Kenny Tang kenshin03

View GitHub Profile
@kenshin03
kenshin03 / gist:5602049
Created May 17, 2013 21:21
pull to dismiss
#pragma mark - UITableViewDelegate delegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (scrollView.contentOffset.y < -160.0f){
dispatch_once(&pullToDismissLock, ^{
CGRect destFrame = self.notificationsTableView.frame;
destFrame.origin.y = destFrame.size.height;
[UIView animateWithDuration:0.4f delay:0.0f options:UIViewAnimationOptionCurveEaseOut animations:^{
@kenshin03
kenshin03 / gist:6303582
Last active April 21, 2019 06:25
Heartbeat like vibration with private API AudioServicesPlaySystemSoundWithVibration
NSMutableDictionary* pulsePatternsDict = [@{} mutableCopy];
NSMutableArray* pulsePatternsArray = [@[] mutableCopy];
// beat for 100 times
for (NSInteger i=0; i<100; i++){
[pulsePatternsArray addObject:@(YES)]; // vibrate for 100ms
[pulsePatternsArray addObject:@(100)];
[pulsePatternsArray addObject:@(NO)]; //stop for 1200ms * 0.3
[pulsePatternsArray addObject:@(1200*0.3)];
@kenshin03
kenshin03 / gist:7963568
Created December 14, 2013 19:15
iOS Objective-C Coding Standard

View management

Do not use interface builder for production code; instead, override -loadView. Use autolayout when possible.

Comments

/*!
 * Method comment.
#import "PSHCoverFeedViewController.h"
#import "PSHFacebookDataService.h"
#import "PSHCoverFeedPageViewController.h"
#import "PSHMenuViewController.h"
#import "PSHMessagingViewController.h"
#import "FeedItem.h"
#import "ItemSource.h"
@interface PSHCoverFeedViewController ()<UIPageViewControllerDataSource, PSHMenuViewControllerDelegate, PSHCoverFeedPageViewControllerDelegate, PSHMessagingViewControllerDelegate>
#import "FeedItem.h"
#import "ItemSource.h"
#import "PSHCoverFeedPageViewController.h"
#import "PSHCoverFeedViewController.h"
#import "PSHFacebookDataService.h"
#import "PSHMenuViewController.h"
#import "PSHMessagingViewController.h"
@interface PSHCoverFeedViewController () <
UIPageViewControllerDataSource,
- (void)viewDidLoad
{
[super viewDidLoad];
CGRect screenBounds = [[UIScreen mainScreen] bounds];
self.view.frame = screenBounds;
self.navigationController.navigationBarHidden = YES;
self.navigationItem.hidesBackButton = YES;
self.dateFormatter = [[NSDateFormatter alloc] init];
[self.dateFormatter setDateFormat:@"MMMM d"];
- (void)viewDidLoad
{
[super viewDidLoad];
// animate menus
[self animateMenuOnStart];
[self.menuViewController animateHideMenuButtons];
}
- (void)didReceiveMemoryWarning
- (void)setupViewFrameBounds
{
CGRect screenBounds = [[UIScreen mainScreen] bounds];
self.view.frame = screenBounds;
}
- (void)setupNavigationBar
{
self.navigationController.navigationBarHidden = YES;
self.navigationItem.hidesBackButton = YES;
- (NSDateFormatter*)dateFormatter
{
if (!_dateFormatter) {
_dateFormatter = [[NSDateFormatter alloc] init];
[_dateFormatter setDateFormat:@"MMMM d"];
}
return _dateFormatter;
}
//
// PSHCoverFeedViewController.m
// SocialHome
//
// Created by Kenny Tang on 4/14/13.
// Copyright (c) 2013 corgitoergosum.net. All rights reserved.
//
#import "PSHCoverFeedViewController.h"
#import "PSHFacebookDataService.h"