2015-10-28 36 views
0

我有3個視圖控制器。pushViewController上的UINavigation/inputAccessoryView問題

Top Controller是一個TabViewController。

在第一視圖控制器

我做的:

self.presentViewController(svc, animated: true, completion: nil) 

SVC是我的第二個視圖控制器。 也是我通過它的navigationController, 和第二VC我使用

self.nav?.pushViewController(cvc, animated: true) 
self.dismissViewController 

現在後視圖是解僱,顯示我的第三VC(CVC) 但是這個功能沒有得到執行

override var inputAccessoryView: UIView! { 

    get { 
     print("inputAccessoryView") 
     if toolBar == nil { 
      toolBar = UIToolbar(frame: CGRectMake(0, 0, 0, toolBarMinHeight-0.5)) 

      textView = InputTextView(frame: CGRectZero) 
      textView.backgroundColor = UIColor(white: 250/255, alpha: 1) 
      textView.delegate = self 
      textView.text = "New Message" 
      textView.textColor = UIColor.lightGrayColor() 
      textView.font = UIFont.systemFontOfSize(messageFontSize) 
      textView.layer.borderColor = UIColor(red: 200/255, green: 200/255, blue: 205/255, alpha:1).CGColor 
      textView.layer.borderWidth = 0.5 
      textView.layer.cornerRadius = 5 
      //textView.placeholder = "Message" 
      textView.scrollsToTop = false 
      textView.textContainerInset = UIEdgeInsetsMake(4, 3, 3, 3) 
      toolBar.addSubview(textView) 

      sendButton = UIButton(type: .System) 
      sendButton.enabled = false 
      sendButton.titleLabel?.font = UIFont.boldSystemFontOfSize(17) 
      sendButton.setTitle("Send", forState: .Normal) 
      sendButton.setTitleColor(UIColor(red: 142/255, green: 142/255, blue: 147/255, alpha: 1), forState: .Disabled) 
      sendButton.setTitleColor(UIColor(red: 1/255, green: 122/255, blue: 255/255, alpha: 1), forState: .Normal) 
      sendButton.contentEdgeInsets = UIEdgeInsets(top: 6, left: 6, bottom: 6, right: 6) 
      sendButton.addTarget(self, action: "sendAction", forControlEvents: UIControlEvents.TouchUpInside) 
      toolBar.addSubview(sendButton) 

      // Auto Layout allows `sendButton` to change width, e.g., for localization. 
      textView.translatesAutoresizingMaskIntoConstraints = false 
      sendButton.translatesAutoresizingMaskIntoConstraints = false 
      toolBar.addConstraint(NSLayoutConstraint(item: textView, attribute: .Left, relatedBy: .Equal, toItem: toolBar, attribute: .Left, multiplier: 1, constant: 8)) 
      toolBar.addConstraint(NSLayoutConstraint(item: textView, attribute: .Top, relatedBy: .Equal, toItem: toolBar, attribute: .Top, multiplier: 1, constant: 7.5)) 
      toolBar.addConstraint(NSLayoutConstraint(item: textView, attribute: .Right, relatedBy: .Equal, toItem: sendButton, attribute: .Left, multiplier: 1, constant: -2)) 
      toolBar.addConstraint(NSLayoutConstraint(item: textView, attribute: .Bottom, relatedBy: .Equal, toItem: toolBar, attribute: .Bottom, multiplier: 1, constant: -8)) 
      toolBar.addConstraint(NSLayoutConstraint(item: sendButton, attribute: .Right, relatedBy: .Equal, toItem: toolBar, attribute: .Right, multiplier: 1, constant: 0)) 
      toolBar.addConstraint(NSLayoutConstraint(item: sendButton, attribute: .Bottom, relatedBy: .Equal, toItem: toolBar, attribute: .Bottom, multiplier: 1, constant: -4.5)) 
     } 
     return toolBar 
    } 
} 

編輯:我有這樣的FUNC以及仍然

override func canBecomeFirstResponder() -> Bool { 
    return true 
} 

可一些身體給我解釋一下爲什麼和如何修復?

回答

0

重寫canBecomeFirstResponder並返回YES

+0

對不起忘了提已經有它 –