Skip to content

Instantly share code, notes, and snippets.

View MaximAlien's full-sized avatar

Maxim Makhun MaximAlien

  • San Francisco, CA
View GitHub Profile
@MaximAlien
MaximAlien / RandomColor
Last active August 29, 2015 14:19
[iOS] [Objective-C] Random color generator
CGFloat h = (arc4random() % 128 / 256.0) + 0.5;
CGFloat s = (arc4random() % 128 / 256.0) + 0.5;
CGFloat b = (arc4random() % 128 / 256.0) + 0.5;
UIColor *color = [UIColor colorWithHue:h saturation:s brightness:b alpha:1.0f];
@MaximAlien
MaximAlien / HexToColor
Last active August 29, 2015 14:19
[iOS] [Objective-C] Helper method to convert hex representation of the color to UIColor
@interface UIColor (Hex)
+ (CGFloat)colorComponentFrom:(NSString *)string start:(NSUInteger)start length:(NSUInteger)length;
@end
@implementation UIColor (Hex)
+ (UIColor *)colorWithHexString:(NSString *)hex
{
@MaximAlien
MaximAlien / ClassName
Created April 22, 2015 09:19
[Android] [JNI] Method to get class name as std::string
static std::string getClassName(JNIEnv *env, jobject entity, jclass clazz)
{
jmethodID mid = env->GetMethodID(clazz, "getClass", "()Ljava/lang/Class;");
jobject clsObj = env->CallObjectMethod(entity, mid);
jclass clazzz = env->GetObjectClass(clsObj);
mid = env->GetMethodID(clazzz, "getName", "()Ljava/lang/String;");
jstring strObj = (jstring)env->CallObjectMethod(clsObj, mid);
const char* str = env->GetStringUTFChars(strObj, NULL);
std::string res(str);
@MaximAlien
MaximAlien / JStringToCharPtr
Created April 29, 2015 15:27
[Android] [JNI] Convert jstring to char *
JNIEXPORT void JNICALL method_name
(JNIEnv *env, jobject obj, jstring jstr)
{
const char* ch = env->GetStringUTFChars(jstr, 0);
env->ReleaseStringUTFChars(jstr, ch);
}
@MaximAlien
MaximAlien / TabBarImageSizes
Last active August 29, 2015 14:21
[iOS] [UI] Tab bar image sizes
iPhone 6 Plus (@3x) - 75 x 75
iPhone 6 and iPhone 5 (@2x) - 50 x 50
iPhone 4s (@2x) - 50 x 50
iPad and iPad mini (@2x) - 50 x 50
iPad 2 and iPad mini (@1x) - 25 x 25
@MaximAlien
MaximAlien / FontName
Created May 22, 2015 13:04
[iOS] Get all font names
for (NSString* family in [UIFont familyNames])
{
NSLog(@"%@", family);
for (NSString* name in [UIFont fontNamesForFamilyName:family])
{
NSLog(@"- %@", name);
}
}
@MaximAlien
MaximAlien / GetCountriesList
Created May 22, 2015 15:48
[iOS] GetCountriesList
NSMutableArray *countries = [[NSMutableArray alloc] init];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier: @"en_US"];
NSArray *countryArray = [NSLocale ISOCountryCodes];
for (NSString *countryCode in countryArray)
{
NSString *displayName = [locale displayNameForKey:NSLocaleCountryCode value:countryCode];
[countries addObject:displayName];
}
@MaximAlien
MaximAlien / LaunchImageSize
Last active September 15, 2015 12:46
[iOS] Launch image sizes
Width x Height
iPhone 4:
320 x 480 - portrait
480 x 320 - landscape
iPhone 4s (@2x):
640 x 960 - portrait
960 x 640 - landscape
@MaximAlien
MaximAlien / DeviceTypeDetection
Created September 15, 2015 15:37
[iOS] Code which detects what type of device is used: Phone or Tablet.
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
NSLog(@"iPad");
}
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
NSLog(@"iPhone");
}
@MaximAlien
MaximAlien / AssignIntJNI
Last active October 21, 2015 11:22
[Android] [JNI] Assign value of the int array through JNI
int[] intVal = new int[1];
JNIEXPORT jboolean JNICALL Java_com_test_example_ChIntVal_change_int(JNIEnv* env, jobject cls, jintArray intValArray)
{
int testVal = -1;
jint *exTypeVal = env->GetIntArrayElements(intValArray, 0);
exTypeVal[0] = testVal;
env->ReleaseIntArrayElements(intValArray, exTypeVal, 0);