This text is replaced by the Flash movie.

Posts Tagged ‘Xcode’

PhoneGap Copy Javascript Error

May 16th, 2011
I'm trying something new right now, web apps on smartphones, while trying to shell a simple html I did, (just displaying a JS alert box) I got this error that phoneGap can't transfer something.

PhoneGap JS Debug

The simple fixed was just rename the folder that has space on it going to your xcode project.

PhoneGap JS Test

NSConcreteMutableData

July 9th, 2010
For some reason I experienced another odd memory leak and I'm not sure what causing it, when I try to access one of my view controllers.

NSConcreteMutableData

The thing was... I mistakenly selected "Simulator 3.0" which the bug exists.

Simulator 3.0

Apple already fixed this issue with 3.1.
Under "Known Issues and Fixes/Core Data"
"The memory leak of an NSConcreteMutableData instance when processing object changes has been fixed."

UIColor Color Codes

April 18th, 2010

DigitalColor Meter Icon I Just realize how hard it was to just assign RGB Values color by code using UIColor, Well heres a little work around. Using the utilities in mac, which will you can find at Applications/Utilities folder. Open it.



DigitalColor Meter

Make sure you selected "RGB As Percentage", Use your mouse to move the cursor over the pixel you want to sample, and read off the values, once you got the color you want; press Command-Shift-H, This will hold the color values you got for the moment. Press F4 for Dashboard use calculator,

Dashboard Calculator

Divide the values you got to 100, for example R%: 78.8 = .788; Then you can finally put the RGB values on your UIColor parameter.

UIColor

#define COLOR_FOR_THIS [UIColor colorWithRed:0.788f green:0.207f blue:0.271f alpha:1.0f]

Animating View

January 20th, 2010

Make View move upward - UITextField Begin Editing


Attached is the video - what I was trying to do, it happens that my first iPhone app has UITextField positioned where the text keypad will appear also, which will hide the current UITextField. Well I realized that I will encounter this often, so I guess it's important to have this piece of code.


in your interface builder assign the UITextField as delegate

UITextField as delegate

UITextField as delegate

on your .m file declare the static constant at the top of the code.

static const CGFloat KEYBOARD_ANIMATION_DURATION = 0.3;
static const CGFloat MINIMUM_SCROLL_FRACTION = 0.2;
static const CGFloat MAXIMUM_SCROLL_FRACTION = 0.8;
static const CGFloat PORTRAIT_KEYBOARD_HEIGHT = 216;
static const CGFloat LANDSCAPE_KEYBOARD_HEIGHT = 140;

after at the @implementation put this global variable to be used for all events

 CGFloat animatedDistance;

at the textFieldDidBeginEditing event

- (void)textFieldDidBeginEditing:(UITextField *)textField {
 
	CGRect textFieldRect = [self.view.window convertRect:textField.bounds fromView:textField];
    CGRect viewRect = [self.view.window convertRect:self.view.bounds fromView:self.view];
 
    CGFloat midline = textFieldRect.origin.y + 0.5 * textFieldRect.size.height;
    CGFloat numerator =
	midline - viewRect.origin.y - MINIMUM_SCROLL_FRACTION * viewRect.size.height;
    CGFloat denominator =
	(MAXIMUM_SCROLL_FRACTION - MINIMUM_SCROLL_FRACTION) * viewRect.size.height;
    CGFloat heightFraction = numerator / denominator;
 
 
	if (heightFraction < 0.0)
    {
        heightFraction = 0.0;
    }
    else if (heightFraction > 1.0)
    {
        heightFraction = 1.0;
    }
 
	UIInterfaceOrientation orientation =
	[[UIApplication sharedApplication] statusBarOrientation];
    if (orientation == UIInterfaceOrientationPortrait ||
        orientation == UIInterfaceOrientationPortraitUpsideDown)
    {
        animatedDistance = floor(PORTRAIT_KEYBOARD_HEIGHT * heightFraction);
    }
    else
    {
        animatedDistance = floor(LANDSCAPE_KEYBOARD_HEIGHT * heightFraction);
    }
 
	CGRect viewFrame = self.view.frame;
    viewFrame.origin.y -= animatedDistance;
 
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationBeginsFromCurrentState:YES];
    [UIView setAnimationDuration:KEYBOARD_ANIMATION_DURATION];
 
    [self.view setFrame:viewFrame];
 
    [UIView commitAnimations];
}

at textFieldDidEndEditing event

- (void)textFieldDidEndEditing:(UITextField *)textField {
    CGRect viewFrame = self.view.frame;
    viewFrame.origin.y += animatedDistance;
 
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationBeginsFromCurrentState:YES];
    [UIView setAnimationDuration:KEYBOARD_ANIMATION_DURATION];
 
    [self.view setFrame:viewFrame];
 
    [UIView commitAnimations];
}

This event is textfield resign responder, once you press the return keypad it will hide the iPhone keyboard, this is important to test if the view will come back to its previous state.

-(BOOL)textFieldShouldReturn:(UITextField *) textField
{
	[textField resignFirstResponder];
	return YES;
}
Demo.
Get the Flash Player to see this player.


Download the Source