退回输入键盘:


- (BOOL) textFieldShouldReturn:(id)textField{

[textField resignFirstResponder];

}


CGRect

CGRect frame = CGRectMake (origin.x, origin.y, size.width, size.height);矩形

NSStringFromCGRect(someCG) 把CGRect结构转变为格式化字符串;

CGRectFromString(aString) 由字符串恢复出矩形;

CGRectInset(aRect) 创建较小或较大的矩形(中心点相同),+较小 -较大

CGRectIntersectsRect(rect1, rect2) 判断两矩形是否交叉,是否重叠

CGRectZero 高度和宽度为零的/位于(0,0)的矩形常量


CGPoint & CGSize

CGPoint aPoint = CGPointMake(x, y); CGSize aSize = CGSizeMake(width, height);


设置透明度 [myView setAlpha:value]; (0.0 < value < 1.0)

设置背景色 [myView setBackgroundColor:[UIColor redColor]];

(blackColor;darkGrayColor;lightGrayColor;whiteColor;grayColor; redColor; greenColor; blueColor; cyanColor;yellowColor;magentaColor;

orangeColor;purpleColor;brownColor; clearColor; )

自定义颜色:

UIColor *newColor = [[UIColor alloc] initWithRed:(float) green:(float) blue:(float) alpha:(float)]; 0.0~1.0




320X480 480X320 状态栏高 20 像素高 导航栏 工具栏 44像素高

隐藏状态栏:

[[UIApplication shareApplication] setStatusBarHidden: YES animated:NO]


横屏:

[[UIApplication shareApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight].

orientation == UIInterfaceOrientationLandscapeLeft

window=[[UIWindow alloc] initWithFrame:[UIScreen mainScreen] bounds];全屏


自动适应父视图大小:

aView.autoresizingSubviews = YES;

aView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);


定义按钮

UIButton *scaleUpButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];

[scaleUpButton setTitle:@"放 大" forState:UIControlStateNormal];

scaleUpButton.frame = CGRectMake(40, 420, 100, 40);

[scaleUpButton addTarget:self action:@selector(scaleUp) forControlEvents:UIControlEventTouchUpInside];


设置视图背景图片

UIImageView *aView;

[aView setImage:[UIImage imageNamed:@”name.png”]];

view1.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"image1.png"]];


UISlider *slider = (UISlider *) sender;

NSString *newText = [[NSString alloc] initWithFormat:@”%d”, (int)(slider.value + 0.5f)];

label.text = newText;


活动表单 <UIActionSheetDelegate>


- (IBActive) someButtonPressed:(id) sender

{

UIActionSheet *actionSheet = [[UIActionSheet alloc]

initWithTitle:@”Are you sure?”

delegate:self

cancelButtonTitle:@”No way!”

destructiveButtonTitle:@”Yes, I’m Sure!”

otherButtonTitles:nil];

[actionSheet showInView:self.view];

[actionSheet release];

}


警告视图 <UIAlertViewDelegate>


- (void) actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger) buttonIndex

{

if(buttonIndex != [actionSheet cancelButtonIndex][NSString alloc]initWithFormat:@”You can

breathe easy, everything went OK.”];

UIAlertView *alert = [[UIAlertView alloc]

initWithTitle:@”Something was done”

message:message

delegate:self

cancelButtonTitle:@”OK”

otherButtonTitles:nil];

[alert show];

[alert release];

[message release];

}

}


动画效果

-(void)doChange:(id)sender

{

if(view2 == nil)

{

[self loadSec];

}

[UIView beginAnimations:nil context:NULL];

[UIView setAnimationDuration:1];

[UIView setAnimationTransition:([view1 superview]?UIViewAnimationTransitionFlipFromLeft:UIViewAnimationTransitionFlipFromRight)forView:self.view cache:YES];


if([view1 superview]!= nil)

{

[view1 removeFromSuperview];

[self.view addSubview:view2];


}else {


[view2 removeFromSuperview];

[self.view addSubview:view1];

}

[UIView commitAnimations];

}


Table View <UITableViewDateSource>

#pragma mark -

#pragma mark Table View Data Source Methods

//指定分区中的行数,默认为1

- (NSInteger)tableView:(UITableView *)tableView

numberOfRowsInSection:(NSInteger)section

{

return [self.listData count];

}


//设置每一行cell显示的内容

- (UITableViewCell *)tableView:(UITableView *)tableView

cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

static NSString *SimpleTableIndentifier = @"SimpleTableIndentifier";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:SimpleTableIndentifier];

if (cell == nil) {

cell = [[[UITableViewCell alloc]

initWithStyle:UITableViewCellStyleSubtitle

reuseIdentifier:SimpleTableIndentifier]

autorelease];

}

UIImage *image = [UIImage imageNamed:@"13.gif"];

cell.imageView.image = image;


NSUInteger row = [indexPath row];

cell.textLabel.text = [listData objectAtIndex:row];

cell.textLabel.font = [UIFont boldSystemFontOfSize:20];


if(row < 5)

cell.detailTextLabel.text = @"Best friends";

else

cell.detailTextLabel.text = @"friends";

return cell;

}

图像:如果设置图像,则它显示在文本的左侧

文本标签:这是单元的主要文本(UITableViewCellStyleDefault 只显示文本标签)

详细文本标签:这是单元的辅助文本,通常用作解释性说明或标签

UITableViewCellStyleSubtitle

UITableViewCellStyleDefault

UITableViewCellStyleValue1

UITableViewCellStyleValue2


<UITableViewDelegate>

#pragma mark -

#pragma mark Table View Delegate Methods

//把每一行缩进级别设置为其行号

- (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath

{

NSUInteger row = [indexPath row];

return row;

}

//获取传递过来的indexPath值

- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath

{

NSUInteger row = [indexPath row];

if (row == 0)

return nil;

return indexPath;

}


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{

NSUInteger row = [indexPath row];

NSString *rowValue = [listData objectAtIndex:row];

NSString *message = [[NSString alloc] initWithFormat:@"You selected %@",rowValue];

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Row Selected"

message:message

delegate:nil

cancelButtonTitle:@"Yes, I did!"

otherButtonTitles:nil];

[alert show];

[alert release];

[message release];

[tableView deselectRowAtIndexPath:indexPath animated:YES];

}


//设置行的高度

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

{

return 40;

}