Skip to content

Instantly share code, notes, and snippets.

View TimOliver's full-sized avatar
😆
Out for a byte. Back in a bit.

Tim Oliver TimOliver

😆
Out for a byte. Back in a bit.
View GitHub Profile

Keybase proof

I hereby claim:

  • I am TimOliver on github.
  • I am timoliver (https://keybase.io/timoliver) on keybase.
  • I have a public key whose fingerprint is E3FA 5C22 4002 BC25 C8E6 B8B5 96AB B712 3936 A658

To claim this, I am signing this object:

@TimOliver
TimOliver / ICComicLoader+PageOrdering.m
Last active August 29, 2015 14:10
This is the method used to sort the filenames of pages inside an archive for iComics v1.1.
- (NSComparisonResult)sortedArchiveEntryIndex:(NSString *)firstName againstIndex:(NSString *)secondName
{
//if first name is empty, assume ascending
if ([firstName length] == 0)
return NSOrderedAscending;
if ([secondName length] == 0)
return NSOrderedDescending;
//convert the names to raw bytes so they can be manually compared on a numerical basis
sudo sysctl -w kern.timer.coalescing_enabled=0
@TimOliver
TimOliver / TODrawInsetBevelRoundedRect.c
Last active February 13, 2016 08:40
A C function demonstrating how to draw the iOS 5-6 beveled effect that was prevalent in grouped UITableView implementations.
void DrawInsetBeveledRoundedRect( CGContextRef context, CGRect rect, CGFloat radius, UIColor *fillColor )
{
//contract the bounds of the rectangle in to account for the stroke
CGRect drawRect = CGRectInset(rect, 1.0f, 1.0f);
//contract the height by 1 to account for the white bevel at the bottom
drawRect.size.height -= 1.0f;
//Save the current state so we don't persist anything beyond this operation
CGContextSaveGState(context);
@TimOliver
TimOliver / UIScrollView+ZoomToPoint.m
Created August 2, 2013 07:25
A small category for UIScrollView to programatically zoom to a CGPoint as opposed to a CGRect. Currently in use in my iOS app, iComics (http://icomics.co)
@implementation UIScrollView (ZoomToPoint)
- (void)zoomToPoint:(CGPoint)zoomPoint withScale: (CGFloat)scale animated: (BOOL)animated
{
//Normalize current content size back to content scale of 1.0f
CGSize contentSize;
contentSize.width = (self.contentSize.width / self.zoomScale);
contentSize.height = (self.contentSize.height / self.zoomScale);
//translate the zoom point to relative to the content rect