Skip to content

Instantly share code, notes, and snippets.

View hebertialmeida's full-sized avatar
✈️

Heberti Almeida hebertialmeida

✈️
View GitHub Profile
@hebertialmeida
hebertialmeida / gist:7548793
Created November 19, 2013 17:09
Set Keyboard Appearance of UISearchBar, iOS 5 to iOS 7
- (void)customKeyboardOnSearchBar:(UISearchBar *)searchBar
{
for(UIView *subView in searchBar.subviews) {
if([subView conformsToProtocol:@protocol(UITextInputTraits)]) {
[(UITextField *)subView setKeyboardAppearance:UIKeyboardAppearanceAlert];
[(UITextField *)subView setReturnKeyType:UIReturnKeyDone];
} else {
for(UIView *subSubView in [subView subviews]) {
if([subSubView conformsToProtocol:@protocol(UITextInputTraits)]) {
[(UITextField *)subSubView setReturnKeyType:UIReturnKeyDone];
@hebertialmeida
hebertialmeida / gist:8769297
Created February 2, 2014 14:35
Finding the most common character in a string
- (NSString *)mostCommonCharacter:(NSString *)string
{
__block NSMutableArray *charIndex = [[NSMutableArray alloc] init];
// Enumerate
[string enumerateSubstringsInRange:NSMakeRange(0, string.length) options:NSStringEnumerationByComposedCharacterSequences usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop)
{
[charIndex addObject:substring];
}];
@hebertialmeida
hebertialmeida / gist:9234391
Last active February 15, 2019 05:16
Resize UIView to fit subviews
- (void)resizeToFitSubviews:(UIView *)view
{
float w, h;
for (UIView *v in view.subviews) {
float fw = v.frame.origin.x + v.frame.size.width;
float fh = v.frame.origin.y + v.frame.size.height;
w = MAX(fw, w);
h = MAX(fh, h);
}
@hebertialmeida
hebertialmeida / gist:9680780
Created March 21, 2014 06:34
Open native Apps or open on Safari if don't have the App
- (void)openThisURL:(NSString *)launchUrl withFallback:(NSString *)fallback
{
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:launchUrl]]) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:launchUrl]];
} else {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:fallback]];
}
}
@hebertialmeida
hebertialmeida / gist:d447903dbfc1cd85ae5d
Last active December 10, 2016 21:41
Given a set of names, sort them in the following manner the next word should start with the last letter of the previous word. Swift implementation.
import UIKit
var names = ["Luis", "Hector", "Selena", "Emmanuel", "Amish", "Rawle"]
var firsts = [String: String]()
var lasts = [String: String]()
var output = [String]()
for name in names {
var key = (name as NSString).substringFromIndex(name.utf16Count-1)
@hebertialmeida
hebertialmeida / gist:6ba1331e3bc9ecb0cb89
Last active August 29, 2015 14:06
Remove repeated values from a INT array, returning the resultant array in the same order as original. Swift implementation.
import UIKit
var numbers = [7, 7, 7, 1, 1, 1, 2, 3, 4, 4, 5, 5, 6, 7, 7, 8, 8]
var filter = [Int]()
for number in numbers {
if !contains(filter, number) {
filter.append(number)
}
}
@hebertialmeida
hebertialmeida / gist:3a21d3517e5de9a051a7
Last active August 29, 2015 14:06
Function that merges two lists, but removing duplicate ones. Swift implementation.
import UIKit
var namesA = ["Luis", "Hector", "Selena", "Emmanuel", "Amish", "Rawle", "Selena"]
var namesB = ["Luis", "Selena", "Amish", "Rawle", "George", "Heberti"]
var filter = [String]()
for item in namesA+namesB {
if !contains(filter, item) {
filter.append(item)
}
@hebertialmeida
hebertialmeida / gist:da65f587b44c6aeef76e
Created September 25, 2014 01:28
Given 2 arrays of integer (A and B) find the elements from A not belonging to B. Swift implementation.
import UIKit
let a = [1, 2, 3, 4, 5, 6, 7, 50, 30]
let b = [3, 10, 5, 6, 7, 8, 9, 51, 1]
var filter = [Int]()
for number in a {
if !contains(b, number) {
filter.append(number)
}
@hebertialmeida
hebertialmeida / gist:be0b689bf0370d5a2764
Created November 20, 2014 11:38
Given a dictionary of words, return an array of the words whose match. (i.e. pattern "c.t" match with "cat", "cut", etc. because the dot notation stand for ANY character). Swift implementation.
import UIKit
var words = ["Cat", "Cot", "Brazil", "Cut", "cat", "Apple", "Watch"]
var filter = [String]()
for word in words {
if let match = word.rangeOfString("(C|c)(.*)t", options: .RegularExpressionSearch) {
filter.append(word)
}
}
@hebertialmeida
hebertialmeida / gist:f0b949835ba157ad2bb9
Created November 20, 2014 15:27
Finding the most common character in a string. Swift implementation.
import UIKit
var str = "aaaabbbaaaa * bbbb b bbbbbbb ccccccccdd ddddddd dddd"
var cnt = [String: Int]()
var i = 0
for char in str {
var c = String(char)
if let match = cnt[c] {