Skip to content

Instantly share code, notes, and snippets.

View masamichiueta's full-sized avatar
:octocat:

Masamichi Ueta masamichiueta

:octocat:
View GitHub Profile
@masamichiueta
masamichiueta / Color.swift
Created October 21, 2019 09:25
Bridge UIColor system color to SwiftUI Color
import UIKit
import SwiftUI
extension Color {
static var label: Color {
return Color(UIColor.label)
}
static var secondaryLabel: Color {
@masamichiueta
masamichiueta / PageView.swift
Created October 12, 2019 04:19
SwiftUI PageView
import SwiftUI
import UIKit
struct PageViewController: UIViewControllerRepresentable {
var controllers: [UIViewController]
@Binding var currentPage: Int
func makeCoordinator() -> Coordinator {
Coordinator(self)
}
@masamichiueta
masamichiueta / fix_Flutter_Japanese_font_problem_in_iOS12.dart
Last active October 15, 2018 02:14
fix Flutter Japanese font problem in iOS12
ThemeData _buildTheme() {
final ThemeData base = ThemeData.light();
return base.copyWith(
textTheme: base.textTheme.apply(fontFamily: 'Hiragino Kaku Gothic ProN'),
primaryTextTheme:
base.primaryTextTheme.apply(fontFamily: 'Hiragino Kaku Gothic ProN'),
accentTextTheme:
base.accentTextTheme.apply(fontFamily: 'Hiragino Kaku Gothic ProN'));
}
@masamichiueta
masamichiueta / DependencyResolver.swift
Created May 10, 2018 03:06
Dependency Resolver based on DIKit
import Foundation
class HogeViewModel {
let d1: String
let d2: String
let d3: String
init(d1: String, d2: String, d3: String) {
self.d1 = d1
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
do {
let htmlText: String =
"<html><head></head><body><h1>Hello World</h1><a href=\"https://www.apple.com\">link</a><p>This is a sample text</p><pre>This is also sample pre text</pre></body></html>"
let encodedData = htmlText.data(using: String.Encoding.utf8)!
@masamichiueta
masamichiueta / **ViewController.swift
Last active March 16, 2024 11:46
iOSでMVVM(バインディングを使わない) ref: https://qiita.com/masamichiueta/items/3d09b98b80762bd6f248
class **ViewController: UIViewController {
var viewModel: **ViewModel!
...
override func viewDidLoad() {
super.viewDidLoad()
self.viewModel.stateDidUpdate = { [unowned self] state in
switch state {
import UIKit
class ScaledModalAnimationController: NSObject, UIViewControllerAnimatedTransitioning {
let presenting: Bool
init(presenting: Bool) {
self.presenting = presenting
}