如何在objective c中检查UIView是否为零 [英] How to check UIView is nil or not in objective c

查看:25
本文介绍了如何在objective c中检查UIView是否为零的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是 iOS 新手,我在验证视图方面遇到了问题.我创建了像视图一样的签名

我想做验证.

如果我没有签名,它会显示消息.

请给我建议.

提前致谢!

我保存图像和使用条件

UIGraphicsBeginImageContext(self.drawSignView.bounds.size);[[self.drawSignView.layerpresentationLayer] renderInContext:UIGraphicsGetCurrentContext()];UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();//NSData *postData = UIImageJPEGRepresentation(viewImage, 1.0);//存储数据NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];NSData *imageData = UIImageJPEGRepresentation(viewImage, 100);[默认 setObject:imageData forKey:@"image"];[默认同步];如果(视图图像==零){UIAlertView *alertviewshow =[[UIAlertView alloc] initWithTitle:@"警告!"message:@"Pease Sign" delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];[alertviewshow setTag:1];[alertviewshow 显示];}

但它不起作用,因为它包含空白图像.

解决方案

请检查这个答案

 UIGraphicsBeginImageContext(self.drawSignView.bounds.size);[[self.drawSignView.layerpresentationLayer] renderInContext:UIGraphicsGetCurrentContext()];UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();//NSData *postData = UIImageJPEGRepresentation(viewImage, 1.0);NSData *imgData = [[NSData alloc] initWithData:UIImageJPEGRepresentation((viewImage), 0.5)];int imageSize = imgData.length;NSLog(@"图片大小KB: %d ", imageSize/1024);UIGraphicsBeginImageContext(self.drawSignViewClient.bounds.size);[[self.drawSignViewClient.layerpresentationLayer] renderInContext:UIGraphicsGetCurrentContext()];UIImage *viewImageClient = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();//NSData *postData = UIImageJPEGRepresentation(viewImage, 1.0);NSData *imgDataClient = [[NSData alloc] initWithData:UIImageJPEGRepresentation((viewImageClient), 0.5)];int imageSizeClient = imgDataClient.length;NSLog(@"图片大小KB: %d ", imageSizeClient/1024);int OCS=imageSize/1024;int Client=imageSizeClient/1024;如果(OCS<3){alertviewshow=[[UIAlertView alloc] initWithTitle:@"警告!"message:@"请签名" delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];[alertviewshow setTag:1];[alertviewshow 显示];}否则如果(客户端<3){alertviewshow=[[UIAlertView alloc] initWithTitle:@"警告!"message:@"请签名" delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];[alertviewshow setTag:1];[alertviewshow 显示];}别的{//写你的代码....}

I am new in iOS and I am facing problem regarding to do validation of view. I have created Signature like view How to draw Signature on UIView, and now I want to do validation by using this code

-(IBAction)SavebtnClick:(id)sender
{

    if(drawSignView==nil)
    {
       UIAlertView *alertviewshow =[[UIAlertView alloc] initWithTitle:@"Warning!" message:@"Pease Sign" delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
        [alertviewshow show];
    }
    else if (drawSignViewClient==nil)
    {
        UIAlertView *alertviewshow =[[UIAlertView alloc] initWithTitle:@"Warning!" message:@"Please Sign" delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
        [alertviewshow show];
    }
    else
    {

        viewcontroller1 *management =[[viewcontroller1 alloc] initWithNibName:@"viewcontroller1" bundle:nil];
        [self.navigationController pushViewController:management animated:YES];
    }
}

But I am not getting success. Please tell me what I am doing wrong.

I want to do validation.

if I have not sign it shows the message.

Please give me suggestion.

Thanks in advance!

I save Image and used condition

UIGraphicsBeginImageContext(self.drawSignView.bounds.size);
    [[self.drawSignView.layer presentationLayer] renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    // NSData *postData = UIImageJPEGRepresentation(viewImage, 1.0);


    // Store the data
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];


    NSData *imageData = UIImageJPEGRepresentation(viewImage, 100);
    [defaults setObject:imageData forKey:@"image"];

    [defaults synchronize];


    if(viewImage==nil)
    {
        UIAlertView *alertviewshow =[[UIAlertView alloc] initWithTitle:@"Warning!" message:@"Pease Sign" delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
        [alertviewshow setTag:1];
        [alertviewshow show];
    }

But it not work because it contain blank image.

解决方案

Please check this answer

    UIGraphicsBeginImageContext(self.drawSignView.bounds.size);
    [[self.drawSignView.layer presentationLayer] renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    // NSData *postData = UIImageJPEGRepresentation(viewImage, 1.0);

    NSData *imgData = [[NSData alloc] initWithData:UIImageJPEGRepresentation((viewImage), 0.5)];
    int imageSize   = imgData.length;
    NSLog(@"size of image in KB: %d ", imageSize/1024);



    UIGraphicsBeginImageContext(self.drawSignViewClient.bounds.size);
    [[self.drawSignViewClient.layer presentationLayer] renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *viewImageClient = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    // NSData *postData = UIImageJPEGRepresentation(viewImage, 1.0);

    NSData *imgDataClient = [[NSData alloc] initWithData:UIImageJPEGRepresentation((viewImageClient), 0.5)];
    int imageSizeClient   = imgDataClient.length;
    NSLog(@"size of image in KB: %d ", imageSizeClient/1024);

    int OCS=imageSize/1024;
    int Client=imageSizeClient/1024;

    if(OCS<3)
    {
        alertviewshow=[[UIAlertView alloc] initWithTitle:@"Warning!" message:@"Please do Signature " delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
        [alertviewshow setTag:1];
        [alertviewshow show];
    }
    else if (Client<3)
    {
        alertviewshow=[[UIAlertView alloc] initWithTitle:@"Warning!" message:@"Please do Signature " delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
        [alertviewshow setTag:1];
        [alertviewshow show];
    }
else
{
//Write Your Code....
}

这篇关于如何在objective c中检查UIView是否为零的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆