Skip to content

Instantly share code, notes, and snippets.

View kyo504's full-sized avatar
😷
Hope everyone stay safe from COVID-19

Daniel Jung kyo504

😷
Hope everyone stay safe from COVID-19
  • @home
  • Seoul, South Korea
View GitHub Profile
@kyo504
kyo504 / AudioPlayer.swift
Created January 20, 2022 17:41 — forked from netgfx/AudioPlayer.swift
A basic audio player with observers and extra features. Based on AVFoundation and AVQueuePlayer
//
// AudioPlayer.swift
//
// Created by MDobekidis
//
import Foundation
import AVFoundation
import UIKit
import Signals
@kyo504
kyo504 / addObservers.swift
Created January 20, 2022 17:03 — forked from netgfx/addObservers.swift
Add observers to AVPlayer
// listening for current item change
self.audioQueueObserver = self.playerQueue?.observe(\.currentItem, options: [.new]) {
[weak self] (player, _) in
print("media item changed...")
}
// listening for current item status change
self.audioQueueStatusObserver = self.playerQueue?.currentItem?.observe(\.status, options: [.new, .old], changeHandler: {
(playerItem, change) in
if playerItem.status == .readyToPlay {
@kyo504
kyo504 / gist:1c1942d2343f9b45f9265aef8c6dac0a
Last active January 17, 2022 11:01
Convert react-native iOS template to swift?
1. Delete folling existing files
- AppDelegate.m
- AppDelegate.h
- main.m
2. Create a new AppDelegate.swift and when it asks if you would like to create an Objective-C bridge header just say "Yes"
3. Copy the following content to your Bridging-Header.h file
```
#import <React/RCTRootView.h>
@kyo504
kyo504 / Common-Currency.json
Created April 9, 2020 23:07 — forked from ksafranski/Common-Currency.json
Common Currency Codes in JSON
{
"USD": {
"symbol": "$",
"name": "US Dollar",
"symbol_native": "$",
"decimal_digits": 2,
"rounding": 0,
"code": "USD",
"name_plural": "US dollars"
},
@kyo504
kyo504 / App.js
Created May 29, 2018 17:09
react-navigation-v1-push
class HomeScreen extends React.Component {
render() {
return (
<View style={styles.container}>
<Text>HomeScreen</Text>
<Text onPress={() => this.props.navigation.push('Settings')}>Go to Settings</Text>
</View>
);
}
}
@kyo504
kyo504 / App.js
Created May 29, 2018 07:23
custom-action-creators
class HomeScreen extends React.Component {
render() {
return (
<View style={styles.container}>
<Text>HomeScreen</Text>
<Text onPress={() => this.props.navigation.goDetail()}>Go to Detail</Text>
</View>
);
}
}
@kyo504
kyo504 / App.js
Created May 29, 2018 04:51
navigationOptions
const HomeStack = createStackNavigator({ Home: HomeScreen }, {
// 이건 스택 안에 있는 스크린들의 기본 설정입니다.
// 그래서 'Home'에서 타이틀을 덮어 쓰지 않는 이상 'Home'이 타이틀로 사용됩니다.
navigationOptions: {
title: 'Home',
}
});
// HomeStack을 그리는 네비게이터에 의해서 사용되는 옵션입니다.
// 여기에서는 탭 네비게이터르 의미합니다.
HomeStack.navigationOptions = {
@kyo504
kyo504 / App.js
Created May 29, 2018 02:23
navigation-api-overhaul
class HomeScreen extends React.Component {
static navigationOptions = { tabBarLabel: 'Home!' };
...
}
class DetailScreen extends React.Component {
static navigationOptions = { tabBarLabel: 'Detail!' };
...
}
@kyo504
kyo504 / App.js
Created May 29, 2018 00:10
shallow-navigation-options
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { createStackNavigator, createBottomTabNavigator } from 'react-navigation';
const HomeScreen = () => (
<View style={styles.container}>
<Text>HomeScreen</Text>
</View>
);
@kyo504
kyo504 / App.js
Created May 28, 2018 15:23
deep-navigation-options
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { StackNavigator, TabNavigator } from 'react-navigation';
class HomeScreen extends React.Component {
static navigationOptions = { tabBarLabel: 'Home!' };
render() {
return (
<View style={styles.container}>
<Text>HomeScreen</Text>