private in Register

This commit is contained in:
nixzhu
2015-12-09 15:26:22 +08:00
parent 6444e15623
commit 279ae6b5c9
5 changed files with 77 additions and 72 deletions
@@ -13,35 +13,35 @@ import Navi
class RegisterPickAvatarViewController: UIViewController {
@IBOutlet weak var avatarImageView: UIImageView!
@IBOutlet weak var cameraPreviewView: CameraPreviewView!
@IBOutlet private weak var avatarImageView: UIImageView!
@IBOutlet private weak var cameraPreviewView: CameraPreviewView!
@IBOutlet weak var takePicturePromptLabel: UILabel!
@IBOutlet private weak var takePicturePromptLabel: UILabel!
@IBOutlet weak var openCameraButton: BorderButton!
@IBOutlet private weak var openCameraButton: BorderButton!
@IBOutlet weak var cameraRollButton: UIButton!
@IBOutlet weak var captureButton: UIButton!
@IBOutlet weak var retakeButton: UIButton!
@IBOutlet private weak var cameraRollButton: UIButton!
@IBOutlet private weak var captureButton: UIButton!
@IBOutlet private weak var retakeButton: UIButton!
lazy var nextButton: UIBarButtonItem = {
private lazy var nextButton: UIBarButtonItem = {
let button = UIBarButtonItem(title: NSLocalizedString("Next", comment: ""), style: .Plain, target: self, action: "next:")
return button
}()
}()
var avatar = UIImage() {
private var avatar = UIImage() {
willSet {
avatarImageView.image = newValue
}
}
enum PickAvatarState {
private enum PickAvatarState {
case Default
case CameraOpen
case Captured
}
var pickAvatarState: PickAvatarState = .Default {
private var pickAvatarState: PickAvatarState = .Default {
willSet {
switch newValue {
case .Default:
@@ -89,30 +89,30 @@ class RegisterPickAvatarViewController: UIViewController {
}
}
lazy var sessionQueue: dispatch_queue_t = dispatch_queue_create("session_queue", DISPATCH_QUEUE_SERIAL)
private lazy var sessionQueue: dispatch_queue_t = dispatch_queue_create("session_queue", DISPATCH_QUEUE_SERIAL)
lazy var session: AVCaptureSession = {
private lazy var session: AVCaptureSession = {
let _session = AVCaptureSession()
_session.sessionPreset = AVCaptureSessionPreset640x480
return _session
}()
}()
let mediaType = AVMediaTypeVideo
private let mediaType = AVMediaTypeVideo
lazy var videoDeviceInput: AVCaptureDeviceInput? = {
private lazy var videoDeviceInput: AVCaptureDeviceInput? = {
guard let videoDevice = self.deviceWithMediaType(self.mediaType, preferringPosition: .Front) else {
return nil
}
return try? AVCaptureDeviceInput(device: videoDevice)
}()
}()
lazy var stillImageOutput: AVCaptureStillImageOutput = {
private lazy var stillImageOutput: AVCaptureStillImageOutput = {
let _stillImageOutput = AVCaptureStillImageOutput()
_stillImageOutput.outputSettings = [AVVideoCodecKey: AVVideoCodecJPEG]
return _stillImageOutput
}()
}()
override func viewDidLoad() {
super.viewDidLoad()
@@ -162,11 +162,11 @@ class RegisterPickAvatarViewController: UIViewController {
// MARK: Actions
func next(sender: UIBarButtonItem) {
@objc private func next(sender: UIBarButtonItem) {
uploadAvatarAndGotoPickSkills()
}
@IBAction func tryOpenCamera(sender: UIButton) {
@IBAction private func tryOpenCamera(sender: UIButton) {
proposeToAccess(.Camera, agreed: {
self.openCamera()
@@ -204,7 +204,7 @@ class RegisterPickAvatarViewController: UIViewController {
}
}
@IBAction func tryOpenCameraRoll(sender: UIButton) {
@IBAction private func tryOpenCameraRoll(sender: UIButton) {
let openCameraRoll: ProposerAction = { [weak self] in
if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.SavedPhotosAlbum) {
@@ -222,7 +222,7 @@ class RegisterPickAvatarViewController: UIViewController {
})
}
func uploadAvatarAndGotoPickSkills() {
private func uploadAvatarAndGotoPickSkills() {
YepHUD.showActivityIndicator()
@@ -260,7 +260,7 @@ class RegisterPickAvatarViewController: UIViewController {
})
}
@IBAction func captureOrFinish(sender: UIButton) {
@IBAction private func captureOrFinish(sender: UIButton) {
if pickAvatarState == .Captured {
uploadAvatarAndGotoPickSkills()
@@ -287,21 +287,23 @@ class RegisterPickAvatarViewController: UIViewController {
}
}
@IBAction func retake(sender: UIButton) {
@IBAction private func retake(sender: UIButton) {
pickAvatarState = .CameraOpen
}
}
// MARK: UIImagePicker
extension RegisterPickAvatarViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage!, editingInfo: [NSObject : AnyObject]!) {
dispatch_async(dispatch_get_main_queue()) {
self.avatar = image
self.pickAvatarState = .Captured
dispatch_async(dispatch_get_main_queue()) { [weak self] in
self?.avatar = image
self?.pickAvatarState = .Captured
}
dismissViewControllerAnimated(true, completion: nil)
}
}
@@ -11,19 +11,19 @@ import Ruler
class RegisterPickMobileViewController: UIViewController {
@IBOutlet weak var pickMobileNumberPromptLabel: UILabel!
@IBOutlet weak var pickMobileNumberPromptLabelTopConstraint: NSLayoutConstraint!
@IBOutlet private weak var pickMobileNumberPromptLabel: UILabel!
@IBOutlet private weak var pickMobileNumberPromptLabelTopConstraint: NSLayoutConstraint!
@IBOutlet weak var areaCodeTextField: BorderTextField!
@IBOutlet weak var areaCodeTextFieldWidthConstraint: NSLayoutConstraint!
@IBOutlet private weak var areaCodeTextField: BorderTextField!
@IBOutlet private weak var areaCodeTextFieldWidthConstraint: NSLayoutConstraint!
@IBOutlet weak var mobileNumberTextField: BorderTextField!
@IBOutlet weak var mobileNumberTextFieldTopConstraint: NSLayoutConstraint!
@IBOutlet private weak var mobileNumberTextField: BorderTextField!
@IBOutlet private weak var mobileNumberTextFieldTopConstraint: NSLayoutConstraint!
lazy var nextButton: UIBarButtonItem = {
private lazy var nextButton: UIBarButtonItem = {
let button = UIBarButtonItem(title: NSLocalizedString("Next", comment: ""), style: .Plain, target: self, action: "next:")
return button
}()
}()
override func viewDidLoad() {
super.viewDidLoad()
@@ -66,7 +66,7 @@ class RegisterPickMobileViewController: UIViewController {
// MARK: Actions
func adjustAreaCodeTextFieldWidth() {
private func adjustAreaCodeTextFieldWidth() {
guard let text = areaCodeTextField.text else {
return
@@ -83,7 +83,7 @@ class RegisterPickMobileViewController: UIViewController {
})
}
func textFieldDidChange(textField: UITextField) {
@objc private func textFieldDidChange(textField: UITextField) {
guard let areaCode = areaCodeTextField.text, mobileNumber = mobileNumberTextField.text else {
return
@@ -96,7 +96,7 @@ class RegisterPickMobileViewController: UIViewController {
}
}
func next(sender: UIBarButtonItem) {
@objc private func next(sender: UIBarButtonItem) {
tryShowRegisterVerifyMobile()
}
@@ -11,20 +11,20 @@ import Ruler
class RegisterPickNameViewController: BaseViewController {
@IBOutlet weak var pickNamePromptLabel: UILabel!
@IBOutlet weak var pickNamePromptLabelTopConstraint: NSLayoutConstraint!
@IBOutlet private weak var pickNamePromptLabel: UILabel!
@IBOutlet private weak var pickNamePromptLabelTopConstraint: NSLayoutConstraint!
@IBOutlet weak var promptTermsLabel: UILabel!
@IBOutlet private weak var promptTermsLabel: UILabel!
@IBOutlet weak var nameTextField: BorderTextField!
@IBOutlet weak var nameTextFieldTopConstraint: NSLayoutConstraint!
@IBOutlet private weak var nameTextField: BorderTextField!
@IBOutlet private weak var nameTextFieldTopConstraint: NSLayoutConstraint!
lazy var nextButton: UIBarButtonItem = {
private lazy var nextButton: UIBarButtonItem = {
let button = UIBarButtonItem(title: NSLocalizedString("Next", comment: ""), style: .Plain, target: self, action: "next:")
return button
}()
}()
var isDirty = false {
private var isDirty = false {
willSet {
nextButton.enabled = newValue
promptTermsLabel.alpha = newValue ? 1.0 : 0.5
@@ -62,7 +62,7 @@ class RegisterPickNameViewController: BaseViewController {
promptTermsLabel.alpha = 0.5
promptTermsLabel.userInteractionEnabled = true
let tap = UITapGestureRecognizer(target: self, action: "tapTerms")
let tap = UITapGestureRecognizer(target: self, action: "tapTerms:")
promptTermsLabel.addGestureRecognizer(tap)
nameTextField.backgroundColor = UIColor.whiteColor()
@@ -89,13 +89,13 @@ class RegisterPickNameViewController: BaseViewController {
// MARK: Actions
func tapTerms() {
@objc private func tapTerms(sender: UITapGestureRecognizer) {
if let URL = NSURL(string: YepConfig.termsURLString) {
yep_openURL(URL)
}
}
func textFieldDidChange(textField: UITextField) {
@objc private func textFieldDidChange(textField: UITextField) {
guard let text = textField.text else {
return
}
@@ -103,7 +103,7 @@ class RegisterPickNameViewController: BaseViewController {
isDirty = !text.isEmpty
}
func next(sender: UIBarButtonItem) {
@objc private func next(sender: UIBarButtonItem) {
showRegisterPickMobile()
}
@@ -11,6 +11,7 @@ import UIKit
class RegisterPickSkillsViewController: BaseViewController {
var isRegister = true
var isDirty = false {
didSet {
if !isRegister {
@@ -15,28 +15,29 @@ class RegisterVerifyMobileViewController: UIViewController {
var areaCode: String!
@IBOutlet weak var verifyMobileNumberPromptLabel: UILabel!
@IBOutlet weak var verifyMobileNumberPromptLabelTopConstraint: NSLayoutConstraint!
@IBOutlet private weak var verifyMobileNumberPromptLabel: UILabel!
@IBOutlet private weak var verifyMobileNumberPromptLabelTopConstraint: NSLayoutConstraint!
@IBOutlet weak var phoneNumberLabel: UILabel!
@IBOutlet private weak var phoneNumberLabel: UILabel!
@IBOutlet weak var verifyCodeTextField: BorderTextField!
@IBOutlet weak var verifyCodeTextFieldTopConstraint: NSLayoutConstraint!
@IBOutlet private weak var verifyCodeTextField: BorderTextField!
@IBOutlet private weak var verifyCodeTextFieldTopConstraint: NSLayoutConstraint!
@IBOutlet weak var callMePromptLabel: UILabel!
@IBOutlet weak var callMeButton: UIButton!
@IBOutlet weak var callMeButtonTopConstraint: NSLayoutConstraint!
@IBOutlet private weak var callMePromptLabel: UILabel!
@IBOutlet private weak var callMeButton: UIButton!
@IBOutlet private weak var callMeButtonTopConstraint: NSLayoutConstraint!
lazy var nextButton: UIBarButtonItem = {
private lazy var nextButton: UIBarButtonItem = {
let button = UIBarButtonItem(title: NSLocalizedString("Next", comment: ""), style: .Plain, target: self, action: "next:")
return button
}()
}()
lazy var callMeTimer: NSTimer = {
private lazy var callMeTimer: NSTimer = {
let timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "tryCallMe:", userInfo: nil, repeats: true)
return timer
}()
var haveAppropriateInput = false {
}()
private var haveAppropriateInput = false {
willSet {
nextButton.enabled = newValue
@@ -45,7 +46,8 @@ class RegisterVerifyMobileViewController: UIViewController {
}
}
}
var callMeInSeconds = YepConfig.callMeInSeconds()
private var callMeInSeconds = YepConfig.callMeInSeconds()
override func viewDidLoad() {
@@ -93,11 +95,11 @@ class RegisterVerifyMobileViewController: UIViewController {
// MARK: Actions
func activeAgain(notification: NSNotification) {
@objc private func activeAgain(notification: NSNotification) {
verifyCodeTextField.becomeFirstResponder()
}
func tryCallMe(timer: NSTimer) {
@objc private func tryCallMe(timer: NSTimer) {
if !haveAppropriateInput {
if callMeInSeconds > 1 {
let callMeInSecondsString = NSLocalizedString("Call me", comment: "") + " (\(callMeInSeconds))"
@@ -122,7 +124,7 @@ class RegisterVerifyMobileViewController: UIViewController {
}
}
@IBAction func callMe(sender: UIButton) {
@IBAction private func callMe(sender: UIButton) {
callMeTimer.invalidate()
@@ -157,7 +159,7 @@ class RegisterVerifyMobileViewController: UIViewController {
})
}
func textFieldDidChange(textField: UITextField) {
@objc private func textFieldDidChange(textField: UITextField) {
guard let text = textField.text else {
return
}
@@ -165,7 +167,7 @@ class RegisterVerifyMobileViewController: UIViewController {
haveAppropriateInput = (text.characters.count == YepConfig.verifyCodeLength())
}
func next(sender: UIBarButtonItem) {
@objc private func next(sender: UIBarButtonItem) {
verifyRegisterMobile()
}