用到的IOS知识点小结(1)

来源:互联网 发布:蜂窝移动网络下载 编辑:程序博客网 时间:2024/06/02 13:48

以下内容是在ios6模拟器运行成功的,或者与我自己的开发环境有关系。     

1.强制转屏,不过不推荐,是私有方法

//    if ([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)]) {

//        [[UIDevice currentDevice] performSelector:@selector(setOrientation:)

//                                       withObject:(id)UIDeviceOrientationPortrait];

//    }


2.给导航条添加自定义的图片按钮,并且要有点击事件

先建立个按钮:

    UIButton *button1 = [UIButtonbuttonWithType:UIButtonTypeCustom];

    [button1 setImage:[UIImageimageNamed:@"btu_shop.png"]forState:UIControlStateNormal];

    [button1 addTarget:selfaction:@selector(gotoShop)forControlEvents:UIControlEventTouchUpInside];

    button1.frame = CGRectMake(0,0, 60, 40);

然后把按钮作为一个view加入UIBarButtonItem中:

UIBarButtonItem *shopButton = [[UIBarButtonItemalloc]initWithCustomView:button1];

self.navigationItem.leftBarButtonItems = [NSArrayarrayWithObjects:shopButton,storeButton,nil];

3.把一张图片作为背景

    UIImageView *imageView = [[UIImageViewalloc]initWithFrame:CGRectMake(0,0, 1024,768)];

    imageView.image = [UIImageimageNamed:@"background.png"];

    [self.viewinsertSubview:imageView belowSubview:self.table];

4.读取图片,不存在图片则下载

- (UIImage *)getPictureWithURL:(NSString *)str {

    

    UIImage *image = nil;

    NSString *picURLWithMD5 = [[Cellclass]md5:str];//先把图片的路径加密

    NSString *picPath =  [[Cellclass]makeUserFilePath:picURLWithMD5];

    

    if ([[NSFileManagerdefaultManager] fileExistsAtPath:picPath]) {

        //存在图片的时候直接读取

        NSData *data = [NSDatadataWithContentsOfFile:picPath];

        image = [UIImage imageWithData:data];

    }

    else{

        //下载图片

        NSURL *url=[NSURLURLWithString:str];

        image = [[[UIImagealloc] initWithData:[NSDatadataWithContentsOfURL:url]]autorelease];

        

        //将图片写到文件中

        [UIImagePNGRepresentation(image)writeToFile: picPath  atomically:YES];

    }

    return image;

}

5.输入框有字的时候再进行操作

  if(self.textField.text.length != 0){

6.想去除一个modalView的同时跳转,必须用:

[selfdismissViewControllerAnimated:YEScompletion:^{

        UINavigationController *nav = [[UINavigationControlleralloc] initWithRootViewController:detailView];      

        [selfpresentModalViewController:nav animated:YES];

        [nav release];

    }];

7.sqlite更新自增值

//    char *update = "update sqlite_sequence set seq = 0 ";//更新自增的值

//    sqlite3_prepare_v2(database, update , -1, &statement, nil) ;

//    if (sqlite3_step(statement) != SQLITE_DONE)

//    {

//        NSLog(@"error update!");

//    }

8.把UIView转成Image,导入<QuartzCore/QuartzCore.h>

-(UIImage *)makeScreenshot:(UIView*) tView{

    [tView retain];

    @try {

        if(UIGraphicsBeginImageContextWithOptions !=NULL)

        {

            UIGraphicsBeginImageContextWithOptions(tView.bounds.size,NO, 1);

        } else {

            UIGraphicsBeginImageContext(tView.bounds.size);

        }

    }

    @catch (NSException *exception) {

        [tView release];

        return nil;

    }

    

    [tView.layerrenderInContext:UIGraphicsGetCurrentContext()];

UIImage *viewImage =UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

[tView release];

return viewImage;

}