我正在尝试更改按钮所在的位置,具体取决于选择器视图的选定行。我试图根据某一年显示数据,我可以让选择器显示可用的年份并将标签更改为相应的年份,但我怎样才能使" go"按钮I;已创建导致正确的视图控制器?
答案 0 :(得分:0)
也许你没有时间想出这个,也许你有,但这就是我要做的。您有一个文本字段,您将使用选择器填充,将其称为“yearTextField”。然后,您有一个按钮,您希望根据相关年份更改操作。称之为“myChangableButton”。这只是一个例子,您可以随意调用它们。我将我的初始视图控制器放在导航视图控制器中,以便更好地控制视图。在这个例子中,我做了两个不同的年份1942年和1971年。他们每个都有自己的视图控制器,我在我的第一个视图控制器中命名为“FourtyTwoViewController”和“SeventyOneViewController”,你需要将它们导入到.m文件中。像这样......
#import "ViewController.h"
#import "FourtyTwoViewController.h"
#import "SeventyOneViewController.h"
此外,请确保在故事板中拖出新视图控制器时,将其命名为。并且不要忘记使用该名称作为在Identity检查器下找到的Storyboard ID。现在对于myChangableButton,我做了一个动作,根据yearTextField中的文本提出你想要的任何一个视图控制器。
- (IBAction)myChangableButton:(id)sender
{
if ([_yearTextField.text isEqual: @"1942"])
{
FourtyTwoViewController *ftvc = [self.storyboard instantiateViewControllerWithIdentifier:@"FourtyTwoViewController"];
//[self presentViewController:ftvc animated:YES completion:nil];
[self.navigationController pushViewController:ftvc animated:YES];
}
else if ([_yearTextField.text isEqual: @"1971"])
{
SeventyOneViewController *sovc = [self.storyboard instantiateViewControllerWithIdentifier:@"SeventyOneViewController"];
//[self presentViewController:sovc animated:YES completion:nil];
[self.navigationController pushViewController:sovc animated:YES];
}
else
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Watch Out!" message:@"Put in valid date" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
}
}
我注释掉的代码行会带来一个模态转换,但我更喜欢推送,因为它会给你一个很好的后退按钮。而已。我希望这对你的项目有所帮助。如果您有任何问题,请发表评论并祝您好运。欢迎!到了!! !!
编辑#1
以下是我如何在我推送的viewcontroller中设置initialUrl的示例。
VideoViewController *vvc = [self.storyboard instantiateViewControllerWithIdentifier:@"VideoViewController"];
vvc.initialUrlString = urlString;
vvc.descriptionString = descriptionString1;
[self.navigationController pushViewController:vvc animated:YES];
我将VideoViewController导入第一个视图控制器。 VideoViewController有两个名为initialUrlString和descriptionString的属性。在第一个视图控制器中,我有两个名为urlString和descriptionString1的属性,这些属性在另一个方法中在第一个视图控制器中设置,然后传递给第二个。