xcode 開發小問題

來源:互聯網
上載者:User

需整理,有些不錯的技巧

原文地址:http://blog.sina.com.cn/s/blog_64ea86850100n4lx.html


// 截屏
//    UIGraphicsBeginImageContext(self.view.frame.size);
//    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
//    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
//    UIGraphicsEndImageContext();
//    UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);

// 裁剪圖片
-(UIImage *) cutFromImage:(UIImage *)image inRect:(CGRect)rect{
    CGImageRef sourceImageRef = [image CGImage];
    CGImageRef newImageRef = CGImageCreateWithImageInRect(sourceImageRef, rect);
    UIImage *newImage = [UIImage imageWithCGImage:newImageRef];
    return newImage;
}
// 縮放圖片
- (UIImage *) scaleFromImage: (UIImage *) image toSize: (CGSize) size
{
    UIGraphicsBeginImageContext(size);
    [image drawInRect:CGRectMake(0, 0, size.width, size.height)];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return newImage;
}

// 相機的一些按鈕效果設定
#pragma mark get/show the UIView we want
//Find the view we want in camera structure.
-(UIView *)findView:(UIView *)aView withName:(NSString *)name{
    Class cl = [aView class];
    NSString *desc = [cl description];
   
    if ([name isEqualToString:desc])
        return aView;
   
    for (NSUInteger i = 0; i < [aView.subviews count]; i++)
    {
        UIView *subView = [aView.subviews objectAtIndex:i];
        subView = [self findView:subView withName:name];
        if (subView)
            return subView;
    }
    return nil;
}
#pragma mark addSomeElements
-(void)addSomeElements:(UIViewController *)viewController{
   
    UIView *viewTop = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, screenWidth, (screenHeight-screenWidth)/2)];
    [viewTop setAlpha:0.5f];
    [viewTop setBackgroundColor:[UIColor blackColor]];
    UIView *viewButtom = [[UIView alloc] initWithFrame:CGRectMake(0.0f, screenHeight-(screenHeight-screenWidth)/2, screenWidth, (screenHeight-screenWidth)/2)];
    [viewButtom setAlpha:0.5f];   
    [viewButtom setBackgroundColor:[UIColor blackColor]];
    //Add the motion view here, PLCameraView and picker.view are both OK
    UIView *PLCameraView=[self findView:viewController.view withName:@"PLCameraView"];
    [PLCameraView addSubview:viewTop];
    [PLCameraView addSubview:viewButtom];
    //Add label to cropOverlay
    UIView *cropOverlay=[self findView:PLCameraView withName:@"PLCropOverlay"];
    [cropOverlay addSubview:viewTop];
    [cropOverlay addSubview:viewButtom];
       
    [cropOverlay addSubview:m_viewActivity];
    [cropOverlay addSubview:m_activity];
   
    [viewTop release];
    [viewButtom release];
   
    //Get Bottom Bar
    UIView *bottomBar=[self findView:PLCameraView withName:@"PLCropOverlayBottomBar"];
   
    //Get ImageView For Save
    UIImageView *bottomBarImageForSave = [bottomBar.subviews objectAtIndex:0];
   
    //Get Button 0
    UIButton *retakeButton= [bottomBarImageForSave.subviews objectAtIndex:0];
    [retakeButton setTitle:@"重拍" forState:UIControlStateNormal];
   
    //Get Button 1
    UIButton *useButton= [bottomBarImageForSave.subviews objectAtIndex:1];
    [useButton setTitle:@"儲存" forState:UIControlStateNormal];
   
    //Get ImageViewBar For Camera
    UIImageView *bottomBarImageForCamera = [bottomBar.subviews objectAtIndex:1];
   
    //Set Bottom Bar Image
//    UIImage *image=[[UIImage alloc] initWithContentsOfFile:[[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"BottomBar.png"]];
//    bottomBarImageForCamera.image=image;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.