Форум программистов, компьютерный форум CyberForum.ru

Text Field огранисения - Swift

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Swift Обучение Swift/Objective-C с нуля http://www.cyberforum.ru/swift/thread1782253.html
Добрый день. На вашем форуме первый раз, хотелось бы перейти сразу к делу: Огромное желание научиться кодить на Swift и Objective-C, но не знаю с чего начать! Имею только поверхностные знания (в целом) по программированию, никакой литературы не читал. Интернет пестрит рекламой что "Идите к нам, с 0 до профи за 2 недели!" и кучей книг - но все это не вызывает доверия и элементарно от количества...
Swift PaseJSON - Swift - Выдает ошибку Error Domain=NSCocoaErrorDomain Code=3840 Пробую запостить сообщение с изображением в MySQL пых прилагается, помогите люди добрые ! import UIKit class PostVC: UIViewController, UITextViewDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate { // UI obj @IBOutlet var textTxt: UITextView! @IBOutlet var countLbl: UILabel! @IBOutlet var selectBtn: UIButton! http://www.cyberforum.ru/swift/thread1781824.html
CollectionView & Segue Swift
Помогите плиз, голову уже сломал, весь нет перерыл - не могу понять что да как. Нужно передать по segue индекс выбранной ячейки var index = "" var out = "" ... func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath){
Swift Голосовой динамик
День добрый! Пишу VOIP приложение и уже неделю пытаюсь побороть проблему: при активации записи вывод звука переключается с голосового динамика на колонки (т.е. основной динамик). При подключении наушников звук идет через них, а после их отключения - пропадает совсем. Как можно этого избежать? Инициализация записи: let session = AVCaptureSession()...
Swift Xib + storyboard http://www.cyberforum.ru/swift/thread1763429.html
Приветствую. Ситуация следующая - использую storyboard для навигации(контроллеры внутри без вью, разумеется), экраны верстаются отдельно в xib-ах. Все бы хорошо, вот только на 8.1/8.2 симуляторе вью не загружается. Просто черный экран и все. В 9.3 все нормально. В аналогичном проекте на obj-c все в порядке (и всю жизнь, сколько этим занимаюсь, проблем не было никогда). В чем проблема?
Swift Как вывести средний бал ученика в журнале (словарь) через цикл for-in? typealias markes = ] var register: markes = , "Ivanov": , "Sidorov": ] for ? in register { for ? in ? { print(" \(name) получает средний балл \(middleMarkPetrov) ") } подробнее

Показать сообщение отдельно
kabudasay
 Аватар для kabudasay
3 / 3 / 1
Регистрация: 13.04.2015
Сообщений: 51
01.08.2016, 10:13  [ТС]     Text Field огранисения
ну там и так собственно все понятно, ну если настаиваете )

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import UIKit
 
private var maxLengths = [UITextField: Int]()
 
extension UITextField {
  
  @IBInspectable var maxLength: Int {
    get {
      guard let length = maxLengths[self] else {
        return Int.max
      }
      return length
    }
    set {
      maxLengths[self] = newValue
      // Any text field with a set max length will call the limitLength
      // method any time it's edited (i.e. when the user adds, removes,
      // cuts, or pastes characters to/from the text field).
      addTarget(
        self,
        action: #selector(limitLength),
        forControlEvents: UIControlEvents.EditingChanged
      )
    }
  }
  
  func limitLength(textField: UITextField) {
    guard let prospectiveText = textField.text
      where prospectiveText.characters.count > maxLength else {
        return
    }
    
    // If the change in the text field's contents will exceed its maximum length,
    // allow only the first [maxLength] characters of the resulting text.
    let selection = selectedTextRange
    text = prospectiveText.substringWithRange(
      Range<String.Index>(prospectiveText.startIndex ..< prospectiveText.startIndex.advancedBy(maxLength))
    )
    selectedTextRange = selection
  }
  
}
Добавлено через 9 минут
Вот еще запрещаем знаки или ввод любых символов которые мы захотим

и так создаем файл
AllowedCharsTextField




Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import UIKit
 
// turn on UITextFieldDelegate @ important!
class AllowedCharsTextField: UITextField, UITextFieldDelegate {
  
  @IBInspectable var allowedChars: String = ""
  
  required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    delegate = self
    autocorrectionType = .No
  }
  
  func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
    let currentText = textField.text ?? ""
    let prospectiveText = (currentText as NSString).stringByReplacingCharactersInRange(range, withString: string)
    return prospectiveText.containsOnlyCharactersIn(allowedChars)
  }
  
}
 
 
extension String {
  
  // Returns true if the string contains only characters found in matchCharacters.
  func containsOnlyCharactersIn(matchCharacters: String) -> Bool {
    let disallowedCharacterSet = NSCharacterSet(charactersInString: matchCharacters).invertedSet
    return self.rangeOfCharacterFromSet(disallowedCharacterSet) == nil
  }
  
}

далее идем в VC



Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import UIKit
 
class ViewController: UIViewController {
 
// connect the input
  @IBOutlet weak var freakyTextField: AllowedCharsTextField!
  
  
  override func viewDidLoad() {
    super.viewDidLoad()
    
    
    // freakyTextField has a 10-character limit and
    // accepts only characters from the word "freaky".
    freakyTextField.maxLength = 10
    freakyTextField.allowedChars = "freaky"
  }
 
  override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
  }
  
  // Tapping on the view should dismiss the keyboard.
  override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
    view.endEditing(true)
  }
 
}
 
Текущее время: 21:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru