Skip to content

Instantly share code, notes, and snippets.

View jlj's full-sized avatar

Jean-Luc Jumpertz jlj

View GitHub Profile
@Koze
Koze / AVSpeechSynthesisVoice+iOS13Workaround.swift
Created October 27, 2019 17:46
Workaround for that AVSpeechSynthesisVoice currentLanguageCode returns application language.
extension AVSpeechSynthesisVoice {
class func currentLanguageCodeWorkaround() -> String {
if #available(iOS 13, *) {
for preferredLanguage in Locale.preferredLanguages {
let locale = Locale(identifier: preferredLanguage)
if let languageCode = locale.languageCode {
var voiceLanguage = languageCode
if let regionCode = locale.regionCode {
@robnadin
robnadin / SpacerView+LayoutGuide.swift
Last active February 21, 2020 11:13
Add support for custom layout guide instances in interface builder by using custom UIView subclass. Uses method swizzling to swap out the view during nib decoding.
private extension UIView {
private struct Static {
static let initialize: (AnyClass) -> Void = { (aClass: AnyClass!) in
let swizzle: (Selector, Selector) -> Void = { (original, swizzled) in
let originalSelector = original
let swizzledSelector = swizzled
let originalMethod = class_getInstanceMethod(aClass, originalSelector)
let swizzledMethod = class_getInstanceMethod(aClass, swizzledSelector)
@steipete
steipete / gist:4666527
Created January 29, 2013 18:43
Exif -> UIImageOrientation
// Convert an EXIF image orientation to an iOS one.
// reference see here: http://sylvana.net/jpegcrop/exif_orientation.html
+ (UIImageOrientation) exifOrientationToiOSOrientation:(int)exifOrientation {
UIImageOrientation o = UIImageOrientationUp;
switch (exifOrientation) {
case 1: o = UIImageOrientationUp; break;
case 3: o = UIImageOrientationDown; break;
case 8: o = UIImageOrientationLeft; break;
case 6: o = UIImageOrientationRight; break;