Skip to content

Instantly share code, notes, and snippets.

View ShoichiKuraoka's full-sized avatar

Shoichi Kuraoka ShoichiKuraoka

View GitHub Profile
日本版・韓国版 香港版 US版
カメラのシャッター音 絶対鳴る 消音モードだと鳴らない 消音モードだと鳴らない
SIMカードスロット 物理SIM×1、eSIM×1 物理SIM×2 eSIM×2
@ShoichiKuraoka
ShoichiKuraoka / RxGesture+ButtonLikeAction.swift
Last active April 25, 2019 01:59
Button like action gesture for UIView
import RxCocoa
import RxGesture
import RxSwift
// MARK: extesion: GestureRecognizerDelegatePolicy<(GestureRecognizer, Touch)>
extension RxGesture.GestureRecognizerDelegatePolicy where PolicyInput == (GestureRecognizer, Touch) {
/// recognize only when touching ownerView
static var onlyOwnerView: RxGesture.GestureRecognizerDelegatePolicy<PolicyInput> {
return .custom{ return $0.view == $1.view }
}
@ShoichiKuraoka
ShoichiKuraoka / Sample_StoredPropertyInExtension.swift
Last active March 18, 2019 02:33
Sample: Extension having stored property
struct Hoge {}
extension NSObject {
var storedHoge: Hoge {
return try! NSObject.creationQueue.sync { () throws -> Hoge in
// if stored, use it
if let storedInstance = objc_getAssociatedObject(self, &NSObject.storeContextKey) as? Hoge {
return storedInstance
}
// if not stored, create & store, then use it
//
// UITextViewExtension.swift
// https://gist.github.com/ShoichiKuraoka/9836fa42edf94d5bc390597b5e1bb411
//
// Created by ShoichiKuraoka on 2019/03/05.
// Copyright © 2018 ShoichiKuraoka. This file is under the MIT License.
//
extension UITextView {
var numberOfLines: Int {
//
// ImageGalleryViewController+Kingfisher.swift
// https://gist.github.com/ShoichiKuraoka/b7ced78ed3969cad615cd55b0f94c5fa
//
// Created by ShoichiKuraoka on 2018/12/30.
// Copyright © 2018 ShoichiKuraoka. This file is under the MIT License.
//
import ImageViewer
import Kingfisher
@ShoichiKuraoka
ShoichiKuraoka / UIViewController+RxMVVM.swift
Last active December 29, 2018 13:06
Template: MVVM + RxSwift + UIViewController
import RxSwift
final class <#view controller's name#>: UIViewController {
// MARK: Property
// IBOutlet
// viewModel
var viewModel: ViewModel = .Default() {
didSet {
guard isViewLoaded else { return }
//
// IBDesignableExtension.swift
// https://gist.github.com/ShoichiKuraoka/cfcef64f98519a581dde9987fd02d288
//
// Created by ShoichiKuraoka on 2018/12/30.
// Copyright © 2018 ShoichiKuraoka. This file is under the MIT License.
//
import UIKit
import UIKit
import RxSwift
import RxCocoa
final class MSHogeViewController: UIViewController {
@IBOutlet weak var mainScrollView: UIScrollView!
@IBOutlet weak var subTableView: UITableView!
override func viewDidLoad() {
@ShoichiKuraoka
ShoichiKuraoka / WIP-UIViewExtension+Tap.swift
Last active October 21, 2018 02:53
UIViewExtension: button tap like gesture
import RxSwift
import RxCocoa
import NSObject_Rx
extension UIView {
func addButtonTapLikeGesture(tappingAlpha: CGFloat = 0.15) {
self.removeButtonTapLikeGesture()
let longPressGestureRecognizer = UILongPressGestureRecognizer()
longPressGestureRecognizer.name = gestureNameButtonTapLike
longPressGestureRecognizer.minimumPressDuration = 0