作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
抱歉,如果标题不是很清楚,但希望我能在这里详细说明。
我有一个 ViewController MatchLineupViewController
,它显示 22 个按钮来代表球队中的橄榄球运动员。当用户点击这些按钮中的任何一个时,将在以下方法中以编程方式调用模态转场:
- (IBAction) showSquadSelector:(UIButton *)sender {
[self performSegueWithIdentifier:@"SeguePopupSquad" sender:sender];
}
随后显示的模态 ViewController 称为 SquadSelectViewController
。它将选定的播放器对象传递回作为委托(delegate)的 MatchLineupViewController
。这非常有效。
但是,我想将返回对象的 profile_picture
属性分配给首先发送 segue 的 UIButton
。
EDIT - 返回的对象是一个 NSDictionary,如下面的代码所示:
- (void) selectPlayer:(NSDictionary *)player forButton:(UIButton *)sender {
[sender.imageView setImage:[UIImage imageWithContentsOfFile:[player objectForKey:@"profile_picture"]]];
}
我该怎么做呢?如果您需要任何进一步的代码来理解我的要求,我可以提供。
非常感谢,克里斯
编辑 -
- (IBAction) showSquadSelector:(UIButton *)sender {
[self performSegueWithIdentifier:@"SeguePopupSquad" sender:sender];
}
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"SeguePopupSquad"]) {
SquadSelectViewController *ssvc = (SquadSelectViewController *) segue.destinationViewController;
ssvc.myDelegate = self;
ssvc.senderButton = sender;
}
}
- (void) selectPlayer:(NSDictionary *)player forButton:(UIButton *)sender {
[sender.imageView setImage:[UIImage imageWithContentsOfFile:[player objectForKey:@"profile_picture"]]];
NSLog(@"%@", [player description]);
NSLog(@"%@", [sender description]);
}
最佳答案
您可以将 showSquadSelector:
方法的 sender
转发到 segue,如下所示:
[self performSegueWithIdentifier:@"SeguePopupSquad" sender:sender];
segue 的 sender
将是触发 segue 的按钮,因此从 segue 触发的代码会知道是什么按钮触发了它:您的 prepareForSegue:
会具有正确的 UIButton
。您现在可以将它添加到预定键(例如,@"senderButton"
)返回的字典中,并在从 segue 返回时检查它。
关于ios - 将以编程方式调用的 segue 的发件人传递到目的地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15559008/
我是一名优秀的程序员,十分优秀!