我有一个按钮,当我点击它时,我带到下一个屏幕,导航栏的名称是" Main"对于第一个屏幕,我希望当我导航到下一个屏幕时,它应该显示该标题而不是"返回"按钮,到目前为止我无法得到结果,因为它抛出异常,请帮助我,我的代码如下。
-(IBAction)btnMore:(id)sender
{
[self performSegueWithIdentifier:@"more" sender:self];
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(NSString*)sender
{
if ([segue.identifier isEqualToString:@"more"])
{
moreInfo *vc = (moreInfo*)segue.destinationViewController;
vc.str = (NSString*)sender;
}
}
答案 0 :(得分:0)
看起来您的问题的一部分可能是您的发件人可能是视图控制器,因此将视图控制器强制转换为NSString *没有意义
答案 1 :(得分:0)
请尝试这样做;
简单方法...... 像这样为类创建局部变量。
@interface Main() {
NSString *titleOfSecView;
}
-(IBAction)btnMore:(UIButton *)sender
{
titleOfSecView = sender.titleLabel.text;
[self performSegueWithIdentifier:@"more" sender:self];
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(NSString*)sender
{
if ([segue.identifier isEqualToString:@"more"])
{
moreInfo *vc = (moreInfo*)segue.destinationViewController;
vc.str = titleOfSecView;
}
}
答案 2 :(得分:-1)
您应该按照以下步骤操作: -
//使用IB
设置主视图和第二视图的标题
然后它会自动将标题更改为给定的标题,如下所示。
//返回标题替换为" Main"主要VC的标题