Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UILabel在手势动作后不会更改_Ios_Objective C_Uilabel - Fatal编程技术网

Ios UILabel在手势动作后不会更改

Ios UILabel在手势动作后不会更改,ios,objective-c,uilabel,Ios,Objective C,Uilabel,我有一些麻烦与应用程序下载的信息从网络服务 我在故事板中定义了各种UILabel,它们与IBOutlet连接,从应用程序开始,我下载de info并放入数组,然后在第一次加载时将字符串放入UILabel中。这个想法是当用户使用像向左滑动这样的手势时,UILabel中的文本必须改变 但是在我的方法动作中,当我用刷卡的手势改变这个UILabel的文本时,当我测试时,UILabel没有改变。我只是用数组的字符串来设置文本 我做错了什么?还有别的办法吗?这种做法是否正确和最佳做法?为什么文本不变 关于代

我有一些麻烦与应用程序下载的信息从网络服务

我在故事板中定义了各种UILabel,它们与IBOutlet连接,从应用程序开始,我下载de info并放入数组,然后在第一次加载时将字符串放入UILabel中。这个想法是当用户使用像向左滑动这样的手势时,UILabel中的文本必须改变

但是在我的方法动作中,当我用刷卡的手势改变这个UILabel的文本时,当我测试时,UILabel没有改变。我只是用数组的字符串来设置文本

我做错了什么?还有别的办法吗?这种做法是否正确和最佳做法?为什么文本不变

关于代码,这里是用于滑动手势的完整方法操作,在这一部分中,假设更改UILabel的文本

NSInteger total = [places count];

    UISwipeGestureRecognizerDirection direction = [(UISwipeGestureRecognizer *) sender direction];

    CATransition *transition = [CATransition animation];
    transition.duration = 1.0f;
    transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionDefault];
    transition.type = kCATransitionPush;


    switch (direction) {
        case UISwipeGestureRecognizerDirectionLeft:
            if (imageIndex==total-1) {
                imageIndex = 0;
            }
            else
            {
                imageIndex++;
            }
            transition.subtype = kCATransitionFromRight;
            break;
        case UISwipeGestureRecognizerDirectionRight:
            if (imageIndex==0) {
                imageIndex = total-1;
            }
            else
            {
                imageIndex--;
            }
            transition.subtype = kCATransitionFromLeft;
            break;

        default:
            break;
    }




    place = [places objectAtIndex:imageIndex];

    review.text=@"HOLA";//[place objectForKey:@"review"];

    phones.text = [place objectForKey:@"number"];
    directions.text = [place objectForKey:@"directions"];
    mainTitle.text = [place objectForKey:@"name"];

    principalImage.image = [UIImage imageWithData: [NSData dataWithContentsOfURL:[NSURL URLWithString:[place objectForKey:@"image_url"]]]];
    //self.typeFoodIcon.image = [UIImage imageNamed:[typefoodimages objectAtIndex:imageIndex]];
    mainLogo.image = [UIImage imageWithData: [NSData dataWithContentsOfURL:[NSURL URLWithString:[place objectForKey:@"logo_url"]]]];
    /*NSString * key = [NSString stringWithFormat:@"%ld",(long)imageIndex];
    UIAlertView * check = [[UIAlertView alloc]initWithTitle:nil message:[place objectForKey:@"review"] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
    [check show];*/

    [principalImage.layer addAnimation:transition forKey:nil];

首先检查您的控件是否要执行手势动作,在其中标记一些断点,如果您提供当前工作代码的一些代码会更好,我认为这是UILabel的常见问题,因为此控件默认情况下禁用了用户交互。通过在XIB/storyboard中检查userInteraction或以编程方式进行设置,确保已启用userInteraction。这将开始发送手势事件。

请粘贴一些显示您当前的操作方式。用户交互模式已处于活动状态,但我不会使用UILabel与用户交互,它是静态的,并且在用户对UIImageView进行刷卡时必须更改。您是否检查了是否获得刷卡事件?UI未更新的另一个常见问题是,更新未在主线程上完成。不确定您是否是这样,但如果您使用多线程,则值得检查。嗯,这听起来像是一个解决方案,但是,我如何检查您的建议呢?在代码块中放置一个断点,在执行滑动/或更新标签的位置,以及当断点在xcode中调用它的线程的左侧面板上的调试导航器中点击check时。它应该是主线程。我觉得你和插座没有连接。你也证实了吗?事实上这很奇怪,因为一个UILabel是一个标题,标题变化很完美,但另一个不是