一,修改状态栏:
1.加入[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO];但此方法只是不显示状态条,状态条所占用的空间仍然存在。
2.可以修改Info.plist文件,在info.plist文件中加入一条新键值,命名为:UIStatusBarHidden;选择Valuetype为Boolean,而后重新编译运行。
3,修改屏幕显示方向:
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:NO];
4,得到项目的名字
//得到项目的名字,并设置在当前视图标题上
self.title = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"];
5,设置当前视图支持触摸
setUserInteractionEnabled:YES;
6.Button.userInteractionEnabled=NO,按钮停止接受任何事件
7.Button.Enabled=NO,按钮不显示
8.获得当前鼠标的位置
[NSEvent mouseLocation];
9.刷新UITableViewrController视图
[self.TableView reloadData];
10.
字符串转化为int
NSString的IntegerValue方法
11.整形转化为字符串为StringWithFormat;
13.使用随机数
srandom()得使用
random((unsigned)(macn_absolute_time() &0xFFFFFFFF));
14。Quartz中是怎样设置旋转点得
UIImageView *imageview=[[UIImageview alloc] initWithImage:[UIImage imageNamed:@"bg.png"]];
imageView.layer.anchorPoint=CGPointMake(0.5,1.0);
15.隐藏NavigationBar
[self.navigationController setNavigationBarHidden:YES animated:YES];
16,根据CLLocation得到coordinate(坐标)而后打开google地图:
NSString *mapUrl=[NSString stringWithFormat:@"http://maps.google.com/maps?q=%f,%f",loc.latitude,loc.longitude];
NSURL *url=[NSURL URLWithString:mapUrl];
[[UIApplication sharedApplication] openURL:url];
17.日期格式化:
NSDataFormat *format=[NSDateFormat alloc] init];
[format setDateFormat:@"hh:mm:ss"];
NSDate *noew=[NSDate date];
NSString *str=[format stringFromDate:now];
18。webView使用:
webView loadRequest:[NSURLRequest alloc] initwithURL:[NSURL alloc]initWithStringt:@"http://www.google.com"];
18。通过通知调用方法:
UIApplication *app = [UIApplication sharedApplication];
[[NSNotificationCenter defaultCenter] addObserve:self
selector:@selector(xxx:)
name:UIApplicationWillTerminateNofification
object:app];
19。遍历所有视图的方法:
其中cell是UITableViewCell,
for(UIView *oneView in cell.contentView.subviews)
{
if ([oneView isMemberOfClass:[UITextField class]])
{
textField = (UITextField *)oneView;
}
}
20.
1、背景音乐播放 支持mp3格式 循环播放长音乐
这种播放音乐的方式导入框架#import <AVFoundation/AVFoundation.h>;
NSString *musicFilePath = [[NSBundle mainBundle] pathForResource:@"changan" ofType:@"mp3"]; //创建音乐文件路径
NSURL *musicURL = [[NSURL alloc] initFileURLWithPath:musicFilePath];
AVAudioPlayer *thePlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:musicURL error:nil];
//创建播放器
self.myBackMusic = thePlayer; //赋值给自己定义的类变量
[musicURL release];
[thePlayer release];
[myBackMusic prepareToPlay];
[myBackMusic setVolume:1]; //设置音量大小
myBackMusic.numberOfLoops = -1;//设置音乐播放次数 -1为一直循环
if (mainMusicStatus)
{
[myBackMusic play]; //播放
}
2、按钮播放声音 播放短声音
需要导入框架#import <AudioToolbox/AudioToolbox.h>
NSString *thesoundFilePath = [[NSBundle mainBundle] pathForResource:@"Clapping Crowd Studio 01" ofType:@"caf"]; //创建音乐文件路径
CFURLRef thesoundURL = (CFURLRef) [NSURL fileURLWithPath:thesoundFilePath];
AudioServicesCreateSystemSoundID(thesoundURL, &sameViewSoundID);
//变量SoundID与URL对应
AudioServicesPlaySystemSound(sameViewSoundID); //播放SoundID声音
21.设置UILabel换行
UILabel*label;
//设置换行
label.lineBreakMode = UILineBreakModeWordWrap;
label.numberOfLines = 0;
换行符还是\n
比如NSString * xstring=@"lineone\nlinetwo"
(void)cutOutImage:(UIImage *)cutedImage{
//设置要保存图片的大小
CGSize subImageSize=cutLocation.textureRect.size;
//初始化一个矩形,这个矩形是设置剪贴以后图片得大小
CGRect subImageRect=CGRectMake(KcutStartX, KcutStartY, KcutWidth, KcutHeight);
CGImageRef imageRef=cutedImage.CGImage;
CGImageRef subImageRef=CGImageCreateWithImageInRect(imageRef, subImageRect);
UIGraphicsBeginImageContext(subImageSize);
CGContextRef context=UIGraphicsGetCurrentContext();
CGContextDrawImage(context, subImageRect, subImageRef);
//得到新得图片
UIImage *subImage=[UIImage imageWithCGImage:subImageRef];
UIGraphicsEndImageContext();
}
//
// FirstViewController.m
// Swayable_test_zk
//
// Created by zhangkun on 9/3/10.
// Copyright __MyCompanyName__ 2010. All rights reserved.
//
#import "FirstViewController.h"
#import "Swayable_test_zkAppDelegate.h"
//#import "CreateSwayableViewController.h"
//#import "MySwayablesViewController.h"
//#import "ViewCommentSwayableViewController.h"
//#import "MyaccountViewController.h"
@implementation FirstViewController
/*
// The designated initializer. Override to perform setup that is required before the view is loaded.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {
// Custom initialization
}
return self;
}
*/
/*
// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
}
*/
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
}
- (void)waitingAction:(id)sender
{
alert_zk = [[UIAlertView alloc] initWithTitle:@"" message:@"Loading..." delegate:selfcancelButtonTitle:nil otherButtonTitles:nil];
[NSTimer scheduledTimerWithTimeInterval:3.0f target:self selector:@selector(performController:)userInfo:nil repeats:NO];
[alert_zk show];
UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
indicator.center = CGPointMake(alert_zk.bounds.size.width / 2, alert_zk.bounds.size.height - 50);
[indicator startAnimating];
[alert_zk addSubview:indicator];
[indicator release];
btn = (UIButton *)sender;
}
-(void) goStartedPage:(id)sender{
Swayable_test_zkAppDelegate *delegate=(Swayable_test_zkAppDelegate*)[[UIApplicationsharedApplication] delegate];
//[self.view removeFromSuperview];
[[self parentViewController] dismissModalViewControllerAnimated:YES];
[delegate.window addSubview:delegate.nav.view];
}
- (void) performController:(NSTimer *)timer
{
[alert_zk dismissWithClickedButtonIndex:0 animated:NO];
[self.tabBarController setSelectedIndex:btn.tag];
}
/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)dealloc {
[super dealloc];
}
@end
#import <Foundation/Foundation.h>
@interface RequestOperation : NSOperation{
NSURLRequest *_request;
NSMutableData *_data;
NSString *message;
}
@property(nonatomic,retain)NSString *message;
-(id)initWithRequest:(NSURLRequest*)request;
@end
//
// RequestOperation.m
// NSOperation
//
// Created by wangqiulei on 8/23/10.
// Copyright 2010 __MyCompanyName__. All rights reserved.
//
#import "RequestOperation.h"
@implementation RequestOperation
@synthesize message;
-(id)initWithRequest:(NSURLRequest *)request{
if (self=[self init]) {
_request=[request retain];
_data=[[NSMutableData data]retain];
}
return self;
}
-(void)dealloc{
[_request release];
[_data release];
[super dealloc];
}
//如果返回为YES表示asychronously方式处理
-(BOOL)isConcurrent{
return YES;
}
//开始处理
-(void)start{
if (![self isCancelled]) {
NSLog(@"%@",self.message);
NSLog(@"-------------%d",[self retainCount]);
[NSURLConnection connectionWithRequest:_request delegate:self];
}
}
//取得数据
-(void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
//添加数据
[_data appendData:data];
NSLog(@"%@",_data);
}
//http请求结束
-(void)connectionDidFinishLoading:(NSURLConnection *)connection{
}
@end
#import "RootViewController.h"
@implementation RootViewController
#pragma mark -
#pragma mark View lifecycle
/*
- (void)viewDidLoad {
[super viewDidLoad];
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
*/
/*
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
}
*/
/*
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
}
*/
/*
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
}
*/
/*
- (void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
}
*/
/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations.
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/
-(void)buttonClicked:(id)sender{
_queue=[[NSOperationQueue alloc] init];
//第一个请求
NSURLRequest *request=[NSURLRequest requestWithURL:[NSURL URLWithString:@"http:www.google.com"]];
RequestOperation *operation=[[RequestOperation alloc] initWithRequest:request];
[_queue addOperation:operation];
[operation release];
//第二个请求
//NSURLRequest *request2=[NSURLRequest requestWithURL:[NSURL URLWithString:@"http:www.baidu.com"]];
//RequestOperation *operation1=[[RequestOperation alloc]initWithRequest:request2];
//operation1.message=@"operation1---";
//[_queue addOperation:operation1];
}
这个是一段xml文件,下面要做的是解析这个xml文件。
<pigletlist>
<piglet id="1">
<name>Nifnif</name>
</piglet>
<piglet id="2">
<name>Nufnuf</name>
</piglet>
<piglet id="3">
<name>Nafnaf</name>
</piglet>
</pigletlist>
这个是程序运行结果:
{
id = 1;
name = Nifnif;
},
{
id = 2;
name = Nufnuf;
},
{
id = 3;
name = Nafnaf;
}
)
// 初始化一个数组,将解析的数据放在数组里
NSMutableArray *res = [[NSMutableArray alloc] init];
// 加载当前文件,此时文件名字为piglets.xml
NSString *XMLPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"piglets.xml"];
NSData *XMLData = [NSData dataWithContentsOfFile:XMLPath];
//通过NSData方式创建CXMLDocument也可以通过字符串的方式,在这里就不说了
CXMLDocument *doc = [[[CXMLDocument alloc] initWithData:XMLData options:0 error:nil] autorelease];
//创建一个数组,以存放我们从xml中得到的节点
NSArray *nodes = NULL;
//寻找节点为piglet的所有节点
nodes = [doc nodesForXPath:@"//piglet" error:nil];
for (CXMLElement *node in nodes) {
NSMutableDictionary *item = [[NSMutableDictionary alloc] init];
int counter;
for(counter = 0; counter < [node childCount]; counter++) {
// 从节点中取出值,按照键值对存储在NSMutableDictionary
[item setObject:[[node childAtIndex:counter] stringValue] forKey:[[node childAtIndex:counter] name]];
}
// 取得节点属性值,并存储在NSMutableDictionary
[item setObject:[[node attributeForName:@"id"] stringValue] forKey:@"id"]; // <------ this magical arrow is pointing to the area of interest
[res addObject:item];
[item release];
}
// and we print our results
NSLog(@"%@", res);
[res release];
NSString * value = [[[node childAtIndex:counter] stringValue] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
if ([value length] != 0){
[item setObject:[[node childAtIndex:counter] stringValue] forKey:[[node childAtIndex:counter] localName]];
}
int i;
NSDictionary *dic = [NSDictionary dictionaryWithObject:@"name=value; path=/; domain=.test.com;, name2=value2; path=/;" forKey:@"Set-Cookie"];
NSArray *cookies = [NSHTTPCookie cookiesWithResponseHeaderFields:dic forURL:[NSURL URLWithString:@"http://www.foo.com/"]];
for (i = 0; i < [cookies count]; i++)
{
NSHTTPCookie *cookie = [cookies objectAtIndex:i];
NSLog(@"%@ for %@",[cookie name], [cookie domain]);
}
for (NSHTTPCookie *cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies])
{
NSLog(@"name: '%@'\n", [cookie name]);
NSLog(@"value: '%@'\n", [cookie value]);
NSLog(@"domain: '%@'\n", [cookie domain]);