Thanks to Paul Hudson this question is also answered visually now:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
class NibLoadableView: UIView { | |
@IBOutlet var view: UIView! | |
override init(frame: CGRect) { | |
super.init(frame: frame) | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# Bash script for downloading WWDC video and pdf ressources | |
# You can choose the year you're interested in by altering the variable YEAR (works only for 2014 until today). | |
# | |
# IMPORTANT | |
# Please install wget prior running this script since this tool is used to download the pdf's and videos. I use it | |
# since it is able to prevent re-downloading already existing content. So you can just run this script again and | |
# again and it will just download new content. This is really useful in the week of the WWDC since videos are |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
static func deviceAndVersionSpecificInformationAsString(userID: String?) -> String { | |
let processInfo = NSProcessInfo() | |
let byteCountFormatter = NSByteCountFormatter() | |
var data = Array<String>() | |
var systemComponents = Array<String>() | |
byteCountFormatter.countStyle = .Memory | |
byteCountFormatter.allowsNonnumericFormatting = false | |
data.append(UIDevice.versionString()) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func addSubviewMaximized(subview: UIView, insets: UIEdgeInsets? = nil) { | |
let insets = insets ?? UIEdgeInsetsZero | |
let constraints: [NSLayoutConstraint] = [ | |
subview.leftAnchor.constraintEqualToAnchor(leftAnchor, constant: insets.left), | |
subview.leftAnchor.constraintEqualToAnchor(leftAnchor, constant: -insets.right), | |
subview.topAnchor.constraintEqualToAnchor(topAnchor, constant: insets.top), | |
subview.bottomAnchor.constraintEqualToAnchor(bottomAnchor, constant: -insets.bottom), | |
] | |
subview.translatesAutoresizingMaskIntoConstraints = false |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { | |
let strippedString = <change replacements string so it fits your requirement - strip, trim, etc> | |
// replace current content with stripped content | |
if let replaceStart = textField.position(from: textField.beginningOfDocument, offset: range.location), | |
let replaceEnd = textField.position(from: replaceStart, offset: range.length), | |
let textRange = textField.textRange(from: replaceStart, to: replaceEnd) { | |
textField.replace(textRange, withText: strippedString) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#/bin/bash | |
EXT="tif" | |
# use xargs to trim whitespaces | |
COUNT=`ls -1 *.$EXT 2>/dev/null | wc -l | xargs` | |
THRESHOLD="50%" | |
# check if there are files of the specified extension | |
if [ $COUNT != 0 ] | |
then | |
echo "Converting $COUNT $EXT's to black and white and merge them to one PDF..." |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
extension XCUIElement { | |
/** | |
Removes any current text in the field before typing in the new value | |
- Parameter text: the text to enter into the field | |
*/ | |
func clearAndEnterText(text: String) { | |
defer { | |
self.typeText(text) | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
extension UIView { | |
func applyParallax() { | |
let amount = 10 | |
let horizontal = UIInterpolatingMotionEffect(keyPath: "center.x", type: .tiltAlongHorizontalAxis) | |
horizontal.minimumRelativeValue = -amount | |
horizontal.maximumRelativeValue = amount | |
let vertical = UIInterpolatingMotionEffect(keyPath: "center.y", type: .tiltAlongVerticalAxis) |