IOS
 Computer >> コンピューター >  >> プログラミング >> IOS

Swiftで数字のみを取得するようにUITextFieldを制限するにはどうすればよいですか?


iOSアプリでは、入力として数字のみを受け取るようにテキストフィールドを制限する必要がある場合があります。これはいくつかの方法で実行できます。いくつかを見てみましょう。

方法1:ストーリーボードからテキストフィールドタイプを変更します。

  • 数値入力に制限するテキストフィールドを選択します。
  • 属性インスペクターに移動します。
  • キーボードの種類を選択し、そこからテンキーを選択します。

方法2:プログラムで入力を数値に制限します。

  • テキストフィールドを選択します
  • ViewControllerでアウトレットを作成します。
  • ビューコントローラをUITextFieldDelegateに準拠させます
  • テキストフィールドのデリゲートを設定します
  • 次の関数を追加します
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
   if let x = string.rangeOfCharacter(from: NSCharacterSet.decimalDigits) {
      return true
   } else {
      return false
   }
}

サンプルクラス全体は次のようになります

import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
   @IBOutlet weak var tf: UITextField!
      override func viewDidLoad() {
         tf.delegate = self
         super.viewDidLoad()
      }
      func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
         if let x = string.rangeOfCharacter(from: NSCharacterSet.decimalDigits) {
            return true
         } else {
         return false
      }
   }
}

これにより、入力として数字のみを受け取り、他の文字を受け取らないテキストフィールドが作成されます。


  1. JTextFieldがJavaで数値のみを受け入れるようにするにはどうすればよいですか?

    デフォルトでは、 JTextField 数字を許可できます 、文字 、および特別 キャラクター 。 JTextFieldに入力されたユーザー入力の検証 特に入力文字列をintなどの数値に変換する必要がある場合は、難しい場合があります。 次の例では、 JTextField 数値のみを入力できます 。 例 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class JTextFieldValidation extends JFrame {    JTextField tf;

  2. 方法:Macでスクリーンショットを撮る

    Apple Macは、平均的なコンピュータユーザーが自分のコンピュータを使用して実行したいと思う可能性のあるすべてのことを実行します。これには、スクリーンショットのキャプチャも含まれます。 ただし、ほとんどのMacユーザーは、Macでスクリーンショットをキャプチャする方法を正確に知らず、たとえそうだとしても、Macが多種多様な種類のスクリーンショットをキャプチャできるという事実に気づいていません。 以下は、Macでさまざまな種類のスクリーンショットをキャプチャする手順です。 画面全体のスクリーンショットを撮る方法: Macの画面に希望どおりの表示が表示されていることを確認してから、コ