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];
}