iphone杂集

一,修改状态栏:

 

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"

posted @ 2010-11-16 10:45 SsQq 阅读(100) 评论(0) 编辑
iphone 使用Core Graphics 剪贴图片

(void)cutOutImage:(UIImage *)cutedImage{

//设置要保存图片的大小

 CGSize subImageSize=cutLocation.textureRect.size;

//初始化一个矩形,这个矩形是设置剪贴以后图片得大小

 CGRect subImageRect=CGRectMake(KcutStartXKcutStartYKcutWidthKcutHeight);

CGImageRef imageRef=cutedImage.CGImage;

CGImageRef subImageRef=CGImageCreateWithImageInRect(imageRef, subImageRect);

UIGraphicsBeginImageContext(subImageSize);

CGContextRef context=UIGraphicsGetCurrentContext();

CGContextDrawImage(context, subImageRect, subImageRef);

//得到新得图片

UIImage *subImage=[UIImage imageWithCGImage:subImageRef];

UIGraphicsEndImageContext();

 

}

posted @ 2010-11-16 10:45 SsQq 阅读(41) 评论(0) 编辑
iphone 文件保存

posted @ 2010-11-16 10:44 SsQq 阅读(413) 评论(0) 编辑
iphone 自定义UISwitch

//

//  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

posted @ 2010-11-16 10:43 SsQq 阅读(203) 评论(0) 编辑
iphone NSOperation多线程使用

#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];

}

posted @ 2010-11-16 10:43 SsQq 阅读(151) 评论(0) 编辑
Iphone json解析xml

这个是一段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]];

}

posted @ 2010-11-16 10:42 SsQq 阅读(508) 评论(0) 编辑
 
posted @ 2010-11-16 10:41 SsQq 阅读(86) 评论(0) 编辑
iphone 使用 获取cookie

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]);

 

你可能感兴趣的:(Cookies,iPhone,domain,音乐,hierarchy,CLLocation)