Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.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
Objective c 复选框转到另一个视图控制器目标c_Objective C - Fatal编程技术网

Objective c 复选框转到另一个视图控制器目标c

Objective c 复选框转到另一个视图控制器目标c,objective-c,Objective C,我试图创建一个复选框按钮,当用户单击该按钮时,它将签入并将他带到另一个视图控制器。下面是我的复选框代码,有人能帮助我如何将用户发送到其他视图控制器吗? 注意我使用的是一个故事集。 标题 IBOutlet UIButton *Checkbox; BOOL checked; (IBAction)CheckboxAction:(id)sender; 代码如下: - (void)viewDidLoad : (BOOL)animated {NSUserDefaults *defaults

我试图创建一个复选框按钮,当用户单击该按钮时,它将签入并将他带到另一个视图控制器。下面是我的复选框代码,有人能帮助我如何将用户发送到其他视图控制器吗? 注意我使用的是一个故事集。 标题

IBOutlet UIButton *Checkbox;
BOOL checked;
(IBAction)CheckboxAction:(id)sender;
代码如下:

- (void)viewDidLoad : (BOOL)animated
        {NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
            checked = [defaults boolForKey:@"boxIsChecked"];
            [self checkTheBox];}


-(void) checkTheBox
    {
    if (!checked) 
        {[Checkbox setImage:[UIImage imageNamed:@"checkBox.png"] forState:UIControlStateNormal];}
            else if (checked) 
            {[Checkbox setImage:[UIImage imageNamed:@"checkBoxMarked.png"] forState:UIControlStateNormal];}
        }


- (IBAction)CheckboxAction:(id)sender 
        {NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

            if (!checked) 
            {[Checkbox setImage:[UIImage imageNamed:@"checkBoxMarked.png"] forState:UIControlStateNormal];
                checked = YES;
                [defaults setBool:checked forKey:@"boxIsChecked"];}
            else if (checked) 
            {[Checkbox setImage:[UIImage imageNamed:@"checkBox.png"] forState:UIControlStateNormal];
                checked = NO;
                [defaults setBool:checked forKey:@"boxIsChecked"];}

            [defaults synchronize];
        }

您希望如何展示其他ViewController?莫代尔,导航控制器,赛格?看起来你可以把它放在
checkboxAction
方法中。@Logan这是我关心的问题,我通常使用NavigationController来实现这一点,但这次有点不同,因为我处理的是一个动作按钮。请给出建议。没有什么不同,如果您使用的是导航控制器,只需执行“推送”到目标ViewController。另外,你可以使用模态表示法。如果您使用的是故事板,您可以执行segue。我添加了一个答案,如果您使用的是故事板或xib,您必须调整您的实例化。@somexyz我会这样做,但正如我提到的,如果您查看代码,您会发现当用户单击按钮时,它将签入“它将显示另一个选中的按钮”。在该操作之后,我希望程序将用户移动到另一个视图控制器,移动到另一个页面。yourviewcontroller您是指我也要转移用户的视图控制器吗?还是我已经在里面的那个?因为当我使用要传输的视图控制器时,它会给我一个错误,请注意,我已经在视图控制器中导入了.h类。它应该是您要转到的控制器。你能告诉我什么错误吗?这是我收到的错误**由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“在捆绑包NSBundle(已加载)***第一次抛出调用堆栈中找不到名为“MainstryBoard”的情节提要:你的情节提要的名称是什么?它会自动命名为“MainstryBoard”。只要把它换成你的名字就行了。我弄明白了,把
@“MainStoryboard”
改成
@“Main”
- (IBAction)CheckboxAction:(id)sender {
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    if (!checked) {
        [Checkbox setImage:[UIImage imageNamed:@"checkBoxMarked.png"] forState:UIControlStateNormal];
        checked = YES;
        [defaults setBool:checked forKey:@"boxIsChecked"];
    }
    else if (checked) {
        [Checkbox setImage:[UIImage imageNamed:@"checkBox.png"] forState:UIControlStateNormal];
        checked = NO;
        [defaults setBool:checked forKey:@"boxIsChecked"];
    }

    [defaults synchronize];

    // ADD THIS
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    YourViewController *yourVC = (YourViewController *)[storyboard instantiateViewControllerWithIdentifier:@"YourViewControllerIdentifier"];
    [self.navigationController pushViewController:yourVC animated:YES];
}