View TextViewDidChangeSelection.swift
// Exists inside of a scrollview subclass containing an "expanding" textview that lives underneath other content.
private var previousSelection: CGRect?
func textViewDidChangeSelection(_ textView: UITextView) {
guard textView.isFirstResponder else {
return
}
var selection = textView.layoutManager.boundingRect(forGlyphRange: textView.selectedRange, in: textView.textContainer).offsetBy(dx: insets.left, dy: insets.top)
View keybase.md

Keybase proof

I hereby claim:

  • I am jellybeansoup on github.
  • I am jellybeansoup (https://keybase.io/jellybeansoup) on keybase.
  • I have a public key whose fingerprint is EEC8 CE91 DF6B 324F C28D ACAA E53E 0BCA FCDB 7881

To claim this, I am signing this object:

View example.json
[
{
"key": "jellyandbean",
"title": "Jelly and Bean",
"tagline": "A weekly podcast about TV, movies, games and technology.",
"description": "Do you like tech? Games? TV? Movies? Well DANG. We have so much in common already! Jelly and Bean are two super pals who like to talk about all of the aforementioned topics (and more, probably), resulting in a nice little peek into the world of geeks, all in the form of a delicious weekly podcast that can be shoved into your ears thanks to the magic of sound waves!",
"archived": true,
"explicit": false,
"keywords": [
"jelly n bean",
View update-version.sh
#!/bin/bash
# Link: <https://gist.github.com/jellybeansoup/db7b24fb4c7ed44030f4>
#
# A command-line script for incrementing build numbers for all known targets in an Xcode project.
#
# This script has two main goals: firstly, to ensure that all the targets in a project have the
# same CFBundleVersion and CFBundleShortVersionString values. This is because mismatched values
# can cause a warning when submitting to the App Store. Secondly, to ensure that the build number
# is incremented appropriately when git has changes.
#
View StaticTablesDataSourceTests.m
#import <UIKit/UIKit.h>
#import <XCTest/XCTest.h>
#import "StaticTables.h"
@interface StaticTablesDataSourceTests : XCTestCase
@end
@implementation StaticTablesDataSourceTests
View gist:3b5be4045628089afd0d
#pragma mark - View life cycle
- (void)viewDidLoad {
[super viewDidLoad];
[_collectionView registerClass:[JSMRefreshViewCell class] forSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:@"SearchViewRefresh"];
}
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout referenceSizeForFooterInSection:(NSInteger)section {
// If we have more results to fetch
View new.m
// Get the view's actual pixel width
CGFloat pixelWidth = self.collectionView.frame.size.width * UIScreen.mainScreen.scale;
// Maximum cells per row
CGFloat maxCells = ( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad ) ? 10.0 : 5.0;
// Determine a cell width
CGFloat cellWidth = 0.0;
CGFloat cellSpacing = 2.0;
for( CGFloat i = cellSpacing; i <= 4; i++ ) {
View gist:9051a033e7b7929d2a70
#pragma mark - Action sheet delegate
- (void)willPresentActionSheet:(UIActionSheet *)actionSheet {
for( UIView *subview in actionSheet.subviews ) {
if( [subview isKindOfClass:[UIButton class]] ) {
UIButton *button = (UIButton *)subview;
[button setTitleColor:[UIColor mainTintColor] forState:UIControlStateNormal];
[button setTitleColor:[UIColor mainTintColor] forState:UIControlStateHighlighted];
[button setTitleColor:[UIColor mainTintColor] forState:UIControlStateSelected];
}
View arrangeSubviews.m
#pragma mark - Rearrange the subviews
- (void)setFrame:(CGRect)frame {
[super setFrame:frame];
[self arrangeSubviews];
}
- (void)arrangeSubviews {
// Cover image frame
View wordpress.sh
#!/bin/sh
# We need an install path
if [ $# != 1 ]; then
echo "Usage: wordpress.sh <install-path>"
exit 1
fi
# Fix the path if it's relative
given_path=$1