Skip to content

Instantly share code, notes, and snippets.

View sumardi's full-sized avatar
🏠
Working from home

Sumardi Shukor sumardi

🏠
Working from home
View GitHub Profile
@sumardi
sumardi / gist:1175468
Created August 27, 2011 14:44
iPhoneDev - Limit the size of text field.
// Text field delegates
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if ([[textField text] length] + [string length] - range.length > MAX_LENGTH) {
return NO;
} else {
return YES;
}
}
@sumardi
sumardi / gist:1304290
Created October 21, 2011 16:39
Basic branching & merging
$ git branch experimental
$ git branch
$ git checkout experimental
(edit file)
$ git commit -a
$ git checkout master
(edit file)
$ git commit -a
$ git merge experimental
$ git diff
@sumardi
sumardi / gist:1305706
Created October 22, 2011 06:18
Xcode 4 : How to set/change default company name.
defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{ORGANIZATIONNAME="YourNameHere";}'
@sumardi
sumardi / gist:1306262
Created October 22, 2011 17:39
iPhoneDev - Multiple buttons on navigation bar.
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:[NSArray array]];
[segmentedControl setMomentary:YES];
[segmentedControl insertSegmentWithImage:[UIImage imageNamed:@"191-Up.png"] atIndex:0 animated:NO];
[segmentedControl insertSegmentWithImage:[UIImage imageNamed:@"191-Down.png"] atIndex:1 animated:NO];
segmentedControl.autoresizingMask = UIViewAutoresizingNone;
segmentedControl.frame = CGRectMake(0.0f, 0.0f, 90.0f, 30.0f);
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
[segmentedControl addTarget:self action:@selector(pagingAction:) forControlEvents:UIControlEventValueChanged];
UIBarButtonItem *segmentBarItem = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];
@sumardi
sumardi / gist:1307027
Created October 23, 2011 08:01
iPhoneDev - UITableViewCell dynamic height
#define FONT_SIZE 14.0f
#define CELL_CONTENT_WIDTH 320.0f
#define CELL_CONTENT_MARGIN 10.0f
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
{
NSString *text = [items objectAtIndex:[indexPath row]];
CGSize constraint = CGSizeMake(CELL_CONTENT_WIDTH - (CELL_CONTENT_MARGIN * 2), 20000.0f);
CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];
CGFloat height = MAX(size.height, 44.0f);
@sumardi
sumardi / gist:1308291
Created October 24, 2011 03:17
iPhoneDev - Get first image in NSString.
- (NSString *)getFirstImage:(NSString *)html {
NSString *tempText = [[NSString alloc]initWithFormat:@""];
NSScanner *pageScanner = [NSScanner scannerWithString:html];
[pageScanner setCaseSensitive:NO];
[pageScanner setCharactersToBeSkipped:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
[pageScanner scanUpToString:@"<img " intoString:nil];
[pageScanner scanString:@"<img " intoString:nil];
[pageScanner scanUpToString:@"src=\"" intoString:nil];
[pageScanner scanString:@"src=\"" intoString:nil];
[pageScanner scanUpToString:@"\"" intoString:&tempText];
@sumardi
sumardi / gist:1308394
Created October 24, 2011 04:49
Twitter framework
#import <Twitter/Twitter.h>
- (IBAction)tweetButtonTapped:(id)sender
{
TWTweetComposeViewController *twitter = [[TWTweetComposeViewController alloc] init];
[twitter addURL:[NSURL URLWithString:@"http://www.sumardi.net"];
[twitter setInitialText:@"Checkout my blog"];
[self presentModalViewController:twitter animated:YES];
@sumardi
sumardi / gist:1729716
Created February 3, 2012 11:16
[iOSDev] Reading from plist
- (id)readPlist:(NSString *)fileName {
NSData *plistData;
NSString *error;
NSPropertyListFormat format;
id plist;
NSString *localizedPath = [[NSBundle mainBundle] pathForResource:fileName ofType:@"plist"];
plistData = [NSData dataWithContentsOfFile:localizedPath]; 
plist = [NSPropertyListSerialization propertyListFromData:plistData mutabilityOption:NSPropertyListImmutable format:&format errorDescription:&error];
@sumardi
sumardi / gist:1739797
Created February 4, 2012 20:05
iPhoneDev - WMLog()
#ifdef DEBUG
# define WMLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
# define WMLog(...)
#endif
@sumardi
sumardi / gist:1751997
Created February 6, 2012 13:19
iPhoneDev - A handy way to dismiss keybaord
// ....
[self.view endEditing:YES];
// ....