2016-04-12 18 views
-2

'a yeni ve hızlı bir şekilde ulaşması ve bazı yardıma gereksinim duyması durumunda kaydırma görünümümün yukarı çıkmasını sağlayın.Klavyenin

Üstte bir başlık ve alt kısmında bir güncelleştirme düğmesi ve ortada ScrollView içine gömülü birkaç TextField bir ekranım var. Klavye çıktığı zaman, ince olan güncelleme butonunu kapsıyor ancak aynı zamanda alt birkaç TextField'u da kapsamaktadır. Kaydırma görünümüm sayfanın tamamını kaplamıyor, bu yüzden klavyenin üzerinde yukarı doğru hareket ettirmek istiyorum ve seçili Metin Alanı kapsanıyorsa görünümüne geçiyor. Dokümantasyonda yöntemleri gördüm ama bunu kendim uygulamak için yeterince alamıyorum. Birisi benim için açıklayabilirse, bu harika olurdu.

import UIKit 

class DetailsViewController: UIViewController { 
@IBOutlet weak var updateButton: UIButton! 
@IBOutlet weak var nameTextField: UITextField! 
@IBOutlet weak var businessTextField: UITextField! 
@IBOutlet weak var unitTextField: UITextField! 
@IBOutlet weak var streetNumberTextField: UITextField! 
@IBOutlet weak var streetNameTextField: UITextField! 
@IBOutlet weak var suburbTextField: UITextField! 
@IBOutlet weak var postcodeTextField: UITextField! 
@IBOutlet weak var stateTextField: UITextField! 
@IBOutlet weak var emailTextField: UITextField! 
@IBOutlet weak var phoneTextField: UITextField! 
@IBOutlet weak var detailsScrollView: UIScrollView! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    updateButton.layer.borderWidth = 2 
    updateButton.layer.borderColor = UIColor.whiteColor().CGColor 

    // Do any additional setup after loading the view. 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
}  

@IBAction func update() { 
    dismissViewControllerAnimated(true, completion: nil) 
} 

@IBAction func name() { 
    businessTextField.becomeFirstResponder() 
} 

@IBAction func business() { 
    unitTextField.becomeFirstResponder() 
} 

@IBAction func unit() { 
    streetNumberTextField.becomeFirstResponder() 
} 

@IBAction func streetNumber() { 
    streetNameTextField.becomeFirstResponder() 
} 

@IBAction func streetName() { 
    suburbTextField.becomeFirstResponder() 
} 

@IBAction func suburb() { 
    postcodeTextField.becomeFirstResponder() 
} 

@IBAction func postcode() { 
    stateTextField.becomeFirstResponder() 
} 

@IBAction func state() { 
    emailTextField.becomeFirstResponder() 
} 

@IBAction func email() { 
    phoneTextField.becomeFirstResponder() 
} 

@IBAction func phone() { 
    phoneTextField.resignFirstResponder() 
} 
} 

cevap

0

Bunun için bir UIScrollView kullanmıyordu aşağıda biz animasyon ve bakış çerçevesinin konumunu taşıyabilirsiniz zaman, gereksiz bir ek bir katman bu senaryoda bir UIScrollView kullanılarak inandığı gibi Benim koddur . Ama işte bu tür şeyler için sık sık yaptığım ve kullandım. https://gist.github.com/RichFell/fd389b1641c0b3a5fca9

İlgili konular