我正在xcode 7.2中尝试制作一个项目。 所以,我有两个viewcontrolers: 在第一个我有5个按钮。 在第二个我有一个标签和一个分段控件。
所以我想要做的是,根据我在第一个VIewController中按下的按钮来更改标签和分段控件标题(按钮的标题)。
例如,如果我按下按钮A,在第二个视图控制器中标签将显示"您按下按钮A"并且分段控件的3个按钮应该表示" A"," B"," C"。 但是,如果我按下按钮B,在第二个视图控制器中标签会说"你按下了按钮B"分段控件的3个按钮应该说" D"," E"," F"。
任何人都可以帮助我吗?
答案 0 :(得分:0)
在我的第二个视图控制器上确认的第一个View Controller上创建协议,因此每当您按下第一个视图控制器中的按钮时,您可以使用该委托并通知另一个视图控制器更改的视图状态。
答案 1 :(得分:0)
您可以通过segue传递数据。
在要转到的视图控制器中,设置名为title的变量。
Second View Controller:<br>
var vcTitle:String = ""
然后在你的第一个VC中添加:
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if (segue.identifier == "secondViewControllerSegue") {
// pass data to next view
// Create a variable called pressedButtonTitle that is set after the user presses a segment
let destinationController = segue.destinationViewController as! SecondViewController;
destinationController.vcTitle = pressedButtonTitle;
}
}
答案 2 :(得分:0)
更具体地说明如何使用prepareForSegue
:
一种选择是:
1.在segue
上为identifier
storyboard
提供prepareForSegue
2.在segue.identifier
中,选中identifier
以查看它是否与您刚刚设置的相应var vc = (ViewNoteViewController) segue.destinationViewController
相匹配
3.如果匹配,则可以访问目标视图控制器,如下所示:
IBOutlets
4。使用vc并从那里访问您的标签和分段控件(假设您已经$(document).ready(function() {
$(window).scroll(function() {
var $box = $("#box");
if ($(window).scrollTop() > 30) {
$box.addClass("fixed");
}
if ($(window).scrollTop() < 30) {
$box.removeClass("fixed");
}
if ($(window).width() > 780) {
$box.removeClass("fixed");
}
if ($(window).width() < 780) {
$box.addClass("fixed");
}
});
});
)