Ios segue后目标ViewController未更改
我的目标ViewController有许多标签和图像,需要根据以前的特定ViewController进行更改。我有一个segue设置,它应该改变这些,但由于某些原因,它不是,即使segue正在被调用 我的初始ViewController有一个按钮,该按钮有一个序列传递到下一个名为“aName”的ViewController。我可能错过了一些简单的东西,但我一直在遵循我的代码的另一部分,它做完全相同的事情,并且工作!我还测试了segue是否使用返回fine的NSLog成功调用。所有IBO出口也被正确分配 初始视图控制器.m:Ios segue后目标ViewController未更改,ios,objective-c,uiviewcontroller,Ios,Objective C,Uiviewcontroller,我的目标ViewController有许多标签和图像,需要根据以前的特定ViewController进行更改。我有一个segue设置,它应该改变这些,但由于某些原因,它不是,即使segue正在被调用 我的初始ViewController有一个按钮,该按钮有一个序列传递到下一个名为“aName”的ViewController。我可能错过了一些简单的东西,但我一直在遵循我的代码的另一部分,它做完全相同的事情,并且工作!我还测试了segue是否使用返回fine的NSLog成功调用。所有IBO出口也被正
#import "dViewController.h"
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"aName"]) {
dViewController *dVC = (dViewController *)segue.destinationViewController;
dVC.TitleLabel.text = @"abc";
dVC.1Img.image = [UIImage imageNamed:@"somepath.jpg"];
dVC.2Img.image = [UIImage imageNamed:@"somepath2.jpg"];
[dVC.1Button setTitle:@"abcd" forState:UIControlStateNormal];
[dVC.1Button setTitle:@"efgh" forState:UIControlStateNormal];
}
目标视图控制器:
dViewController.h
@property (strong, nonatomic) IBOutlet UILabel *TitleLabel;
@property (strong, nonatomic) IBOutlet UIImageView *1Img;
@property (strong, nonatomic) IBOutlet UIImageView *2Img;
@property (strong, nonatomic) IBOutlet UIButton *1Button;
@property (strong, nonatomic) IBOutlet UIButton *2Button;
编辑:再四处看看,我想我应该用一个代表。这看起来很复杂,也不确定从哪里开始。但我将尝试看看这个线程中的内容:在segue.destinationViewController周围放上括号,如下所示:
dViewController *dVC = (dViewController *)(segue.destinationViewController);
在segue.destinationViewController周围放上括号,如下所示:
dViewController *dVC = (dViewController *)(segue.destinationViewController);
在segue.destinationViewController周围放上括号,如下所示:
dViewController *dVC = (dViewController *)(segue.destinationViewController);
在segue.destinationViewController周围放上括号,如下所示:
dViewController *dVC = (dViewController *)(segue.destinationViewController);
了解应用程序导航原则。来自苹果:
了解应用程序导航原则。来自苹果:
了解应用程序导航原则。来自苹果:
了解应用程序导航原则。来自苹果:
您必须为要更改的每个标签创建一个变量,并在viewDidLoad中将该变量分配到label.text 比如说
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"aName"]) {
dViewController *dVC = (dViewController *)segue.destinationViewController;
dVC.titleString = @"abc";
dVC.1Image = [UIImage imageNamed:@"somepath.jpg"];
dVC.2Image = [UIImage imageNamed:@"somepath2.jpg"];
dVC.1ButtonString=@"ButtonTitle";
dVC.2ButtonString=@"ButtonTitle2";
}
目的控制器
@property (strong, nonatomic) IBOutlet UILabel *TitleLabel;
@property (strong, nonatomic) IBOutlet UIImageView *1Img;
@property (strong, nonatomic) IBOutlet UIImageView *2Img;
@property (strong, nonatomic) IBOutlet UIButton *1Button;
@property (strong, nonatomic) IBOutlet UIButton *2Button;
@property(strong,nonatomic)NSString *2ButtonString;
@property(strong,nonatomic)UIImage*1Image;
@property(strong,nonatomic)UIImage*2Image;
@property(strong,nonatomic)NSString* titleString;
@property(strong,nonatomic)NSString *1ButtonString;
@property(strong,nonatomic)UIImageView *1Img;
@property(strong,nonatomic)UIImageView *1Img;
- (void)viewDidLoad{
self.TitleLabel.text = self.titleString;
self.1Img.image = self.1Image;
self.2Img.image = self.2Image;
[self.1Button setTitle:self.1ButtonString];
[self.2Button setTitle:self.1ButtonString];
}
希望它能帮助你,问题是
dViewController *dVC = (dViewController *)segue.destinationViewController;
您只带来控制器,而不是视图。IBOutlet属于视图,视图未加载我希望您理解您必须为要更改的每个标签创建一个变量,并在ViewDiLoad中将变量分配到label.text 比如说
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"aName"]) {
dViewController *dVC = (dViewController *)segue.destinationViewController;
dVC.titleString = @"abc";
dVC.1Image = [UIImage imageNamed:@"somepath.jpg"];
dVC.2Image = [UIImage imageNamed:@"somepath2.jpg"];
dVC.1ButtonString=@"ButtonTitle";
dVC.2ButtonString=@"ButtonTitle2";
}
目的控制器
@property (strong, nonatomic) IBOutlet UILabel *TitleLabel;
@property (strong, nonatomic) IBOutlet UIImageView *1Img;
@property (strong, nonatomic) IBOutlet UIImageView *2Img;
@property (strong, nonatomic) IBOutlet UIButton *1Button;
@property (strong, nonatomic) IBOutlet UIButton *2Button;
@property(strong,nonatomic)NSString *2ButtonString;
@property(strong,nonatomic)UIImage*1Image;
@property(strong,nonatomic)UIImage*2Image;
@property(strong,nonatomic)NSString* titleString;
@property(strong,nonatomic)NSString *1ButtonString;
@property(strong,nonatomic)UIImageView *1Img;
@property(strong,nonatomic)UIImageView *1Img;
- (void)viewDidLoad{
self.TitleLabel.text = self.titleString;
self.1Img.image = self.1Image;
self.2Img.image = self.2Image;
[self.1Button setTitle:self.1ButtonString];
[self.2Button setTitle:self.1ButtonString];
}
希望它能帮助你,问题是
dViewController *dVC = (dViewController *)segue.destinationViewController;
您只带来控制器,而不是视图。IBOutlet属于视图,视图未加载我希望您理解您必须为要更改的每个标签创建一个变量,并在ViewDiLoad中将变量分配到label.text 比如说
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"aName"]) {
dViewController *dVC = (dViewController *)segue.destinationViewController;
dVC.titleString = @"abc";
dVC.1Image = [UIImage imageNamed:@"somepath.jpg"];
dVC.2Image = [UIImage imageNamed:@"somepath2.jpg"];
dVC.1ButtonString=@"ButtonTitle";
dVC.2ButtonString=@"ButtonTitle2";
}
目的控制器
@property (strong, nonatomic) IBOutlet UILabel *TitleLabel;
@property (strong, nonatomic) IBOutlet UIImageView *1Img;
@property (strong, nonatomic) IBOutlet UIImageView *2Img;
@property (strong, nonatomic) IBOutlet UIButton *1Button;
@property (strong, nonatomic) IBOutlet UIButton *2Button;
@property(strong,nonatomic)NSString *2ButtonString;
@property(strong,nonatomic)UIImage*1Image;
@property(strong,nonatomic)UIImage*2Image;
@property(strong,nonatomic)NSString* titleString;
@property(strong,nonatomic)NSString *1ButtonString;
@property(strong,nonatomic)UIImageView *1Img;
@property(strong,nonatomic)UIImageView *1Img;
- (void)viewDidLoad{
self.TitleLabel.text = self.titleString;
self.1Img.image = self.1Image;
self.2Img.image = self.2Image;
[self.1Button setTitle:self.1ButtonString];
[self.2Button setTitle:self.1ButtonString];
}
希望它能帮助你,问题是
dViewController *dVC = (dViewController *)segue.destinationViewController;
您只带来控制器,而不是视图。IBOutlet属于视图,视图未加载我希望您理解您必须为要更改的每个标签创建一个变量,并在ViewDiLoad中将变量分配到label.text 比如说
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"aName"]) {
dViewController *dVC = (dViewController *)segue.destinationViewController;
dVC.titleString = @"abc";
dVC.1Image = [UIImage imageNamed:@"somepath.jpg"];
dVC.2Image = [UIImage imageNamed:@"somepath2.jpg"];
dVC.1ButtonString=@"ButtonTitle";
dVC.2ButtonString=@"ButtonTitle2";
}
目的控制器
@property (strong, nonatomic) IBOutlet UILabel *TitleLabel;
@property (strong, nonatomic) IBOutlet UIImageView *1Img;
@property (strong, nonatomic) IBOutlet UIImageView *2Img;
@property (strong, nonatomic) IBOutlet UIButton *1Button;
@property (strong, nonatomic) IBOutlet UIButton *2Button;
@property(strong,nonatomic)NSString *2ButtonString;
@property(strong,nonatomic)UIImage*1Image;
@property(strong,nonatomic)UIImage*2Image;
@property(strong,nonatomic)NSString* titleString;
@property(strong,nonatomic)NSString *1ButtonString;
@property(strong,nonatomic)UIImageView *1Img;
@property(strong,nonatomic)UIImageView *1Img;
- (void)viewDidLoad{
self.TitleLabel.text = self.titleString;
self.1Img.image = self.1Image;
self.2Img.image = self.2Image;
[self.1Button setTitle:self.1ButtonString];
[self.2Button setTitle:self.1ButtonString];
}
希望它能帮助你,问题是
dViewController *dVC = (dViewController *)segue.destinationViewController;
您只带来控制器,而不是视图。IBOutlet属于视图,视图未加载我希望您理解您是否检查过dVC不是零?您的视图控制器是否在导航控制器中?否则您将无法推到堆栈。@Tander您所说的nill是什么意思?@sumofighter666不,它们只是普通的视图控制器。我的意思是它们肯定在导航控制器中。您检查过dVC不是nil吗?您的视图控制器在导航控制器中吗?否则您将无法推到堆栈。@Tander您所说的nill是什么意思?@sumofighter666不,它们只是普通的视图控制器。我的意思是它们肯定在导航控制器中。您检查过dVC不是nil吗?您的视图控制器在导航控制器中吗?否则您将无法推到堆栈。@Tander您所说的nill是什么意思?@sumofighter666不,它们只是普通的视图控制器。我的意思是它们肯定在导航控制器中。您检查过dVC不是nil吗?您的视图控制器在导航控制器中吗?否则您将无法推到堆栈。@Tander您所说的nill是什么意思?@sumofighter666不,它们只是普通的视图控制器。我的意思是它们绝对应该在导航控制器中。是的,刚刚编辑过,是为了dVC它在xcode中是正确的。它是否转换到目标视图控制器?不,@synthesis没有更改它,仍然没有显示。如果它没有转换,则难怪没有写入标签/图像属性。我会检查序列图像板中的初始和目标VC,确保序列名称与指定的标识符匹配。抱歉,这意味着它正在转换,只是没有显示更改的信息。是的,刚刚编辑过,是为了dVC,在xcode中是正确的。它是否转换到目标视图控制器?否,@synthesis没有更改它,仍然没有显示。如果它没有转换,则难怪没有写入标签/图像属性。我会检查序列图像板中的初始和目标VC,确保序列名称与指定的标识符匹配。抱歉,这意味着它正在转换,只是没有显示更改的信息。是的,刚刚编辑过,是为了dVC,在xcode中是正确的。它是否转换到目标视图控制器?否,@synthesis没有更改它,仍然没有显示。如果它没有转换,则难怪没有写入标签/图像属性。我会检查序列图像板中的初始和目标VC,确保序列名称与指定的标识符匹配。抱歉,这意味着它正在转换,只是没有显示更改的信息。是的,刚刚编辑过,是为了dVC,在xcode中是正确的。它是否转换到目标视图控制器?否,@synthesis没有更改它,仍然没有显示。如果它没有转换,则难怪没有写入标签/图像属性。我会在故事板中检查你的初始和目标VC,并确保序列名称与指定的标识符匹配。对不起,这意味着它正在转换,只是没有显示更改的信息。这确实有效