Iphone 更改视图控制器Swift
我有个问题。我想在swift中更改视图控制器 这是我代码的一部分:Iphone 更改视图控制器Swift,iphone,swift,Iphone,Swift,我有个问题。我想在swift中更改视图控制器 这是我代码的一部分: if success == "1" { NSLog("Login SUCCESS"); var prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults() prefs.setObject(mobile, forKey: "USERNAME") prefs.setInteger(1, forKey: "ISLOGGEDIN")
if success == "1" {
NSLog("Login SUCCESS");
var prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults()
prefs.setObject(mobile, forKey: "USERNAME")
prefs.setInteger(1, forKey: "ISLOGGEDIN")
prefs.synchronize()
self.presentViewController(OtpVC(), animated: true, completion: nil)
}
我的OtpVC文件是:
class OtpVC: UIViewController {
@IBOutlet weak var smsfield: UITextField!
@IBAction func continueButton(sender: AnyObject) {
}
}
现在的问题是,当登录成功时,页面会发生变化,并变为黑色
我怎样才能解决这个问题?提前感谢。您也可以使用segues 设置从一个视图控制器到要在情节提要中移动的视图控制器的顺序。 还可以在故事板中设置序列的标识符 现在使用下面的代码
self.performSegueWithIdentifier("identifier", sender: self)
使用上面的代码行,您将以编程方式创建一个新的OtpVC
实例。如果这是您想要的,并且视图控制器的编码正确,可以像那样初始化,那么这不是问题。但是因为它都是黑色的,我假设你已经在故事板中创建了
OtpVC
,所以你要么需要使用Sukhdeep Singh Kalla建议的segue,要么用以下方法实例化它:
let destination = storyboard?.instantiateViewControllerWithIdentifier("identifier") as! OtpVC
presentViewController(destination, animated: true, completion: nil)
这两个选项都需要设置一个标识符
要为后者设置标识符,请转到情节提要并单击视图控制器。通过单击视图控制器顶部的左黄色按钮,确保已选择视图控制器。然后在identity inspector中,键入标识符名称,并用该名称替换示例中的“identifier”。空白页面表示您的视图未加载。看来情况就是这样: 请仔细看看,您正在创建该类的实例,但没有实例化该类的视图 在swift中,您可以使用影响视图中多个视图的单个类 故事板 正确的方法应该是:
if success == "1" {
NSLog("Login SUCCESS");
var prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults()
prefs.setObject(mobile, forKey: "USERNAME")
prefs.setInteger(1, forKey: "ISLOGGEDIN")
prefs.synchronize()
var storyboard = UIStoryboard(name: "Main", bundle: nil)
这里的“Main”应该是OtpVC视图所在的情节提要的名称
这里的“OtpVC”应该是视图的情节提要标识符
更新:
另一个根本原因可能是您的标识符在故事板上设置得不好
在您的身份检查器中设置应类似于:
在模块中,好像我的目标没有这样的课程,它说无
这可能是你想看看的东西。也许在故事板中,您引用的是其他目标,而不是具有此类OptVC
类实现的目标
你的问题到底出在哪里?可能是因为他以编程方式创建了
OtpVC
,而它应该通过故事板进行实例化。我创建了一个名为OtpVC的swift文件,在故事板中,我将class=OtpVCi放在故事板中无法实现。。我只能用鼠标左键拖动按钮有一个错误,它说:UIStoryboard没有名为MainstryBoard的成员对不起,我使用了我自己的代码。。让我来解决这个问题。已修复。应用程序崩溃:由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[setValue:forUndefinedKey:]:此类不符合密钥txtUsername的键值编码。”此错误指向何处?是否正确设置了视图控制器?当我点击“注册”按钮时,它会在if语句中工作,该语句表示登录是正确的,而不是我的problem@VaultDesign我很乐意帮忙!,请投票选出所有你认为有用的答案。。。而且,这始终会让人们保持积极性,并在将来更有可能回答您的问题;-)
if success == "1" {
NSLog("Login SUCCESS");
var prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults()
prefs.setObject(mobile, forKey: "USERNAME")
prefs.setInteger(1, forKey: "ISLOGGEDIN")
prefs.synchronize()
var storyboard = UIStoryboard(name: "Main", bundle: nil)
var controller = storyboard.instantiateViewControllerWithIdentifier("OtpVC") as! OtpVC
self.presentViewController(controller, animated: true, completion: nil)
}