xcode 开发笔记

将NSString字符串去掉前后空格:
                NSString stringByTrimmingCharacte rsInSet:[NSCharacterSet whitespaceCharacterSet]
[转载]xcode <wbr>开发小问题


获取颜色的值:
                UIColor *uicolor = [UIColor redColor];
            CGColorRef color = [uicolor CGColor];
            int numComponents = CGColorGetNumberOfCompon ents(color);
                if (numComponents >= 3)
                {
                            const CGFloat *tmComponents = CGColorGetComponents(color);
                            red = tmComponents[0];
                            green = tmComponents[1];
                      blue = tmComponents[2];
                      alpha = tmComponents[3];
               


产生随机数(0-1之间):
                (float)(1+arc4random()% 99)/100
[转载]xcode <wbr>开发小问题


读取一个url返回数据:
                - (NSString *) urlString:(NSString *)value{
                      NSURL *url = [NSURL URLWithString:value];
                      NSData *data = [NSData dataWithContentsOfURL:url];
                      //解决中文乱码,用GBK
                      NSStringEncoding enc =                                         
                        CFStringConvertEncodingT oNSStringEncoding(kCFStringEncodingGB_18030_2000);   
                      NSString *retStr = [[NSString alloc] initWithData:data encoding:enc];
                      return retStr;
                }


NSArray数组的比较器:
                由于此方法是c方法,所以应该写再@end后面或者@implementation前面。
                如果写在@implementation前面的话,就不需要声明了,如果写在@end前面的话,得在头文件声明
                或者@implementation前面声明此方法。
                方法:
                NSInteger intSort(id num1, id num2, void *context)
                {
                      int v1 = [num1 intValue];
                      int v2 = [num2 intValue];
                      if (v1 < v2)
                              return NSOrderedAscending;
                      else if (v1 > v2)
                              return NSOrderedDescending;
                      else
                              return NSOrderedSame;
                }
                调用:
                NSArray *sortedArray;
                sortedArray = [anArray sortedArrayUsingFunction :intSort context:NULL];


手工绑定按钮单击事件:
                - (void)addTarget:(id)target action:(SEL)action forControlEvents:
                (UIControlEvents)controlEvents; [转载]xcode <wbr>开发小问题


创建一个plist文件:
                NSMutableDictionary *currencyDictionary = [[NSMutableDictionary alloc] init];     
                NSArray *paths = NSSearchPathForDirectori esInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
                NSString *path=[paths objectAtIndex:0];
                NSString *fileName=[path stringByAppendingPathCom ponent:@"currency.plist"];     
                [currencyDictionary writeToFile:fileName  atomically:YES];

添加动画代码:
  1. [UIView beginAnimations:@"View Flip" context:nil];
  2. [UIView setAnimationDuration:1.25];
  3. [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
  4. [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view.superview cache:YES];
  5. [self.view removeFromSuperview];
  6. [UIView commitAnimations]

navigationItem添加leftBarButtonItem
                UIBarButtonItem *uibar1 = [[UIBarButtonItem alloc] initWithCustomView:controllerName];
          self.navigationItem.rightBarButtonItem = uibar1;
                [uibar1 release];


UITabBarController添加TabBarItem
[转载]xcode <wbr>开发小问题


切换view的两种方式:
         1.presentModalViewController: animated:
    And  dismissModalViewControllerAnimated:
        
(注:
               缺点:
此切换方法将取代整个大view.例如:tabBarController就能被取代。
               
优点:
此切换方法可以没有NavigationController的支持
          )
         SecondController *second = [[SecondController alloc] init];
         [self presentModalViewController:second animated:YES];

         [self dismissModalViewControllerAnimated:YES];
         2.pushViewController: animated:
  And  popViewControllerAnimated:
                (注:
               缺点:此切换方法必须有NavigationController的支持
               
优点:此切换方法不能取代整个大view.例如:tabBarController就不能被取代。
          )

         ThirdController *third = [[ThirdController alloc] init];
         [self.navigationController pushViewController:third animated:YES];
        
         [self.navigationController popViewControllerAnimated:YES];

消息提示框使用:
[转载]xcode <wbr>开发小问题

文件进行操作:
             // 获取当前目录下得Currency.plist文件路径
            NSString *locationPath = [[NSBundle mainBundle] pathForResource:@"Currency" ofType:@"plist"];
            // 获取沙盒得路径
            NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
            NSString *strCopyPath = [paths objectAtIndex:0];
            // 将路径和取得得文件名组合成一个新路径
            NSString *strPath = [strCopyPath stringByAppendingPathComponent:@"Currency.plist"];
            // 文件管理
            NSFileManager *man = [NSFileManager defaultManager];
            NSError *error = nil ;
            // 开始复制
            [man copyItemAtPath:locationPath toPath:strPath error:&error];
            [man release];
            // 获取
strCopyPath 路径下的文件数组
            NSArray *array = [man contentsOfDirectoryAtPath:strCopyPath error:nil];
            [array count];

调用GPS位置:
            导入#import <CoreLocation/CoreLocation.h>
            CLLocationManager *clLocationManager = [[CLLocationManager alloc] init];
            [clLocationManager setDesiredAccuracy:kCLLocationAccuracyBest];
            [clLocationManager setDelegate:self];  // deldegate
            [clLocationManager startUpdatingLocation];

            [clLocationManager release];

            - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
                  [manager stopUpdatingLocation]; // 停止执行此方法
                  newLocation.coordinate.longitude; // 获取当前的经度
                  newLocation.coordinate.latitude;   // 获取当前的纬度
            }

获取UUID的值:
            CFUUIDRef uuidObj = CFUUIDCreate(nil);
            NSString *uuidString = (NSString *)CFUUIDCreateString(nil, uuidObj);
            CFRelease(uuidObj); // uuidString就是唯一得了
            [uuidString release];

ico图标有弧线:
           
[转载]xcode <wbr>开发小问题
                      例如这种,系统默认的是带ico图标中间带弧线。
                      不加弧线的方法:
                      在****-info.plist中添加一项:Icon already includes gloss effects 然后value的多选筐勾选住。

ico图标大小:
                      1.iPhone -- 57*57
                      2.iPhone4 -114*114
                      3.iPad            --72*72
#pragma mark 获得时间戳
                        - (NSString *)_generateTimestamp
                        return [NSString stringWithFormat:@"%d", time(NULL)];

#pragma mark 获得随时字符串
                        - (NSString *)_generateNonce {
                      CFUUIDRef theUUID = CFUUIDCreate(NULL);
                      CFStringRef string = CFUUIDCreateString(NULL, theUUID);
                      NSMakeCollectable(theUUID);
                      return (NSString *)string;
                          }


#pragma mark textView控件编辑完后键盘隐藏
                        - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {     
                                        if([text isEqualToString:@"n"]) {
                                                        [textView resignFirstResponder];
                                                        return NO;
                                          }
                                          return YES;
}

#pragma mark iphone 4 摄像头是前后切换
#import <AVFoundation/AVFoundation.h>

// Switching between front and back cameras

- (AVCaptureDevice *)cameraWithPosition:(AVCaptureDevicePosition)position
{
        NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
        for ( AVCaptureDevice *device in devices )
                if ( device.position == position )
                        return device;
        return nil;
}

- (void)swapFrontAndBackCameras {
        // Assume the session is already running

        NSArray *inputs = self.session.inputs;
        for ( AVCaptureDeviceInput *input in inputs ) {
                AVCaptureDevice *device = input.device;
                if ( [device hasMediaType:AVMediaTypeVideo] ) {
                        AVCaptureDevicePosition position = device.position;
                        AVCaptureDevice *newCamera = nil;
                        AVCaptureDeviceInput *newInput = nil;

                        if (position == AVCaptureDevicePositionF ront)
                                newCamera = [self cameraWithPosition:AVCaptureDevicePositionB ack];
                        else
                                newCamera = [self cameraWithPosition:AVCaptureDevicePositionF ront];
                        newInput = [AVCaptureDeviceInput deviceInputWithDevice:newCamera error:nil];

                        // beginConfiguration ensures that pending changes are not applied immediately
                        [self.session beginConfiguration];

                        [self.session removeInput:input];
                        [self.session addInput:newInput];

                        // Changes take effect once the outermost commitConfiguration is invoked.
                        [self.session commitConfiguration];
                        break;
                }
        }
}

# 存储选择的图片到沙盒中    
NSArray *pathArray = NSSearchPathForDirectori esInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
      NSData *imageData = UIImagePNGRepresentation ([info objectForKey:UIImagePickerControllerO riginalImage]);
     
      CFUUIDRef uuidObj = CFUUIDCreate(nil);
      NSString *uuidString = (NSString *)CFUUIDCreateString(nil, uuidObj);
      CFRelease(uuidObj);
      self.pAddress = [[pathArray objectAtIndex:0] stringByAppendingPathCom ponent:[NSString stringWithFormat:@"%@.png",uuidString]];
      [imageData writeToFile:self.pAddress atomically:YES ];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值