标签: viewcontroller

使用NavigationViewController swift呈现ViewController

我有系统"NavigationViewController - > MyViewController",我编程想要在第三个视图控制器中呈现MyViewController.问题是我在呈现它之后在MyViewController中没有导航栏.你能帮助我吗?

var VC1 = self.storyboard.instantiateViewControllerWithIdentifier("MyViewController") as ViewController
self.presentViewController(VC1, animated:true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

uinavigationbar uinavigationcontroller viewcontroller ios swift

58
推荐指数
3
解决办法
8万
查看次数

同时关闭多个视图控制器

我正在使用SpriteKit制作游戏.我有3个viewControllers:选择level vc,game vc和win vc.游戏结束后,我想显示win vc,然后如果我按下win vc上的OK按钮,我想解雇win vc和游戏vc(从堆栈中弹出两个视图控制器).但我不知道怎么做,因为如果我打电话

self.dismissViewControllerAnimated(true, completion: {})    
Run Code Online (Sandbox Code Playgroud)

win vc(堆栈顶部)被解雇,所以我不知道在哪里再次调用它来解雇游戏vc.有没有办法在不使用导航控制器的情况下解决这个问题?

这是第一个VC :(请注意以下以"//"开头的评论)

class SelectLevelViewController: UIViewController { // I implemented a UIButton on its storyboard, and its segue shows GameViewController
    override func viewDidLoad() {
        super.viewDidLoad()
    }
}
Run Code Online (Sandbox Code Playgroud)

这是第二个VC:

class GameViewController: UIViewController, UIPopoverPresentationControllerDelegate {
    var scene: GameScene!
    var stage: Stage!

    var startTime = NSTimeInterval()
    var timer = NSTimer()
    var seconds: Double = 0
    var timeStopped = false

    var score = 0

    @IBOutlet weak var targetLabel: UILabel!
    @IBOutlet var displayTimeLabel: UILabel! …
Run Code Online (Sandbox Code Playgroud)

viewcontroller dismiss ios swift

38
推荐指数
6
解决办法
3万
查看次数

只有ONE VIEW横向模式

我完成了我的iOS应用程序,但我只需要将一个视图设置为横向模式,其余视图只能在纵向模式下查看.

我正在使用Xcode 5.1,我通过从右侧面板中删除我的故事板视图控制器来创建我的所有视图,所以如果你要告诉我在某处编写一些代码,请告诉我我需要编写它的确切位置.

我在这里阅读了一个解决方案UINavigationController Force Rotate但我不知道在哪里编写该代码.我需要UIViewController手动创建一个吗?

xcode landscape objective-c viewcontroller ios

37
推荐指数
4
解决办法
4万
查看次数

Swift:重新加载视图控制器

view controller点击某个按钮时我需要刷新.简单地激活viewDidLoad()似乎并不适用于我需要做的事情.然而,当我离开时,view controller回到它,似乎完美的工作?

如何刷新/重新加载view controller,就好像我已经离开它然后回到它而没有真正离开它?

refresh viewcontroller ios swift

29
推荐指数
5
解决办法
9万
查看次数

将swift文件添加到xCode中的新视图控制器?(简单)

我刚刚开始使用xCode 6,我似乎无法弄清楚如何将新的swift文件添加到我在界面构建器中添加的新视图控制器中.

任何有关如何进行的提示将不胜感激.

viewcontroller swift xcode6

28
推荐指数
1
解决办法
3万
查看次数

从xib文件加载ViewController

我有一个MyViewController.swift和一个MyViewController.xib呈现MyViewController的布局.

我尝试了不同的方法加载这个视图控制器,包括:

//1
let myVC = UINib(nibName: "MyViewController", bundle:
       nil).instantiateWithOwner(nil, options: nil)[0] as? MyViewController

//2
let myVC = NSBundle.mainBundle().loadNibNamed("MyViewController", owner: self, options: nil)[0] as? MyViewController

//3
let myVC = MyViewController(nibName: "MyViewController", bundle: nil)
Run Code Online (Sandbox Code Playgroud)

第三个是唯一成功的初始化,但前两个导致错误:

由于未捕获的异常'NSUnknownKeyException'而终止应用,

reason:'[setValue:forUndefinedKey:]:此类不是密钥XXX的密钥值编码兼容.

这些加载方法有什么问题?

initialization xib viewcontroller ios swift

28
推荐指数
4
解决办法
5万
查看次数

如何在经过身份验证后退出Google

因此,我的应用可以选择使用Google登录.单击Google提供的按钮后,将打开Web视图并让用户输入其凭据.在允许应用访问他们的信息后,应用程序然后签署用户并将SignInViewController更改为TabBarController(他们现在可以相应地进行交互).

当用户按下"注销"按钮时,他们会按照预期被定向到登录屏幕.但奇怪的是,如果用户再次按下谷歌按钮,他们会自动登录,根本没有进一步的身份验证,也没有选择删除他们的帐户.他们是否有办法清除谷歌帐户凭据以保护用户免遭意外盗窃?

登录功能:

func signIn(signIn: GIDSignIn!, didSignInForUser user: GIDGoogleUser!, withError error: NSError!) {
    if let error = error {
        print(error.localizedDescription)
        return
    }
    let authentication = user.authentication
    let credential = FIRGoogleAuthProvider.credentialWithIDToken(authentication.idToken, accessToken: authentication.accessToken)
    FIRAuth.auth()?.signInWithCredential(credential) { (user, error) in
        // ...
        SignInViewController().signedIn(user)
    }
    // ...
}
Run Code Online (Sandbox Code Playgroud)

退出功能:

func signOutOverride() {
    do {
        try! FIRAuth.auth()!.signOut()
        CredentialState.sharedInstance.signedIn = false
        // Set the view to the login screen after signing out
        let storyboard = UIStoryboard(name: "SignIn", bundle: nil)
        let loginVC = storyboard.instantiateViewControllerWithIdentifier("SignInVC") as! SignInViewController
        let …
Run Code Online (Sandbox Code Playgroud)

authentication viewcontroller ios firebase swift

27
推荐指数
2
解决办法
1万
查看次数

UIScrollView阻止了视图控制器上的touchesBegan,touchesMoved,touchesEnded

我在视图控制器(UIViewController的自定义子类)中处理了几个我的UI组件.它的方法touchesBegan:withEvent:,touchesMoved:withEvent:touchesEnded:withEvent:.它工作正常.然后我添加了一个滚动视图(UIScrollView)作为层次结构中的顶视图.

现在我在视图控制器上的触摸处理程序不起作用.他们没有被召唤.有趣的是,我在滚动视图中有各种其他UI组件可以正常工作.有些是按钮,有些是定义自己的自定义视图touchesBegan:withEvent:等.唯一不起作用的是视图控制器上的触摸处理程序.

我想也许是因为滚动视图拦截为己用的触动,但我UIScrollView的子类,只是看看,如果我能得到它的工作,我回来YES总是touchesShouldBegin:withEvent:inContentView:NO来自始终touchesShouldCancelInContentView:.仍然无法正常工作.

如果它有所作为我的视图控制器在标签栏控制器内,但我不认为它是相关的.

有没有人有这个问题并有一个现成的解决方案?我的猜测是滚动视图猴子响应者链.我可以回来吗?我想如果我无法想出任何其他内容,我会将滚动视图下的顶级视图设为自定义视图,并将消息转发给视图控制器,但看起来很糟糕.

iphone touch uiscrollview viewcontroller nsresponder

26
推荐指数
2
解决办法
2万
查看次数

presentModalViewController和presentViewController之间的区别?

在iOS 5 SDK中,有两种方法是UIViewController,presentModalViewController:animated:和presentViewController:animated:completion:.

这两种方法有什么区别?

文档说:presentViewController:animated:completion:方法是从iOS 5.0开始呈现模态视图的首选方式.

如果我在iOS 5中使用presentModalViewController:动画,它会导致错误吗?

它们功能相同吗?

iphone viewcontroller ios

24
推荐指数
2
解决办法
2万
查看次数

无法调用非函数类型'String'的值

我正在尝试将ILTItem变量传递到我的ILTViewController,当用户通过深层链接启动我的应用程序时,由AppDelegate.swift触发.

我有错误的代码:

无法调用非函数类型'String'的值

在我定义的行上ilt.

这是我目前的代码:

let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
var ilt = ILT(homeworkID: 1234, title: "History ILT", subject: "History", teacher: "Miss A Smith", teacherCode: "asmith", studentID: 12345, description: "Description....", due: 1450137600, status: "In Progress", hasAttachments: true)
var newVC = ILTViewController()
newVC.ILTitem = ilt
appDelegate.window?.addSubview(newVC.view)
Run Code Online (Sandbox Code Playgroud)

为什么会这样?在我的ILTViewController类中,我有:

class ILTViewController: UIViewController {
  // accept the incoming ILT struct
  var ILTitem: ILT!
Run Code Online (Sandbox Code Playgroud)

IlT结构声明:

struct ILT {
    let homeworkID: Int
    let title: String
    let subject: String
    let teacher: String
    let teacherCode: …
Run Code Online (Sandbox Code Playgroud)

struct viewcontroller ios swift

23
推荐指数
2
解决办法
5万
查看次数