swift3のUITextfieldサブクラス内のフレームサイズが正しくありません

PPShein

Xcodeバージョンを8にアップグレードすると、swift2.3バージョンのほとんどをswift3に修正しているという問題がたくさん見つかりました。私の問題の1つは、すべてのカスタムUITextfieldが、プロジェクトで空白を表示するためにまったく機能しないことです。以下は私のカスタムUITextfieldとswift3で正しく表示されるように修正する方法です。

ここに画像の説明を入力してください

import UIKit

class OvalTextField: UITextField, UITextFieldDelegate {

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)!
        createBorder()
    }

    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
        let finalString = textField.text! + string;
        if (finalString != "") {
            textField.rightView?.isHidden = true
        }
        return true
    }

    required override init(frame: CGRect) {
        super.init(frame: frame)
        createBorder()
    }

    func createBorder(){

        let errorImg = UIImageView (frame: CGRect(x: 0, y: 0, width: 30, height: 30))
        errorImg.image = UIImage(named: "error")
        errorImg.contentMode = UIViewContentMode.left

        self.delegate = self
        self.layer.borderWidth = 1.0
        self.layer.borderColor = UIColor(red:0.93, green:0.93, blue:0.93, alpha:1.0).cgColor
        self.layer.cornerRadius = self.frame.size.height / 2
        self.layer.masksToBounds = true

        let gapLabel = UIView (frame: CGRect(x: 60, y: 0, width: 20, height: 40))
        self.leftView = gapLabel
        self.leftViewMode = UITextFieldViewMode.always

        /* Display that one when validation is failed */
        self.rightView = errorImg;
        self.rightViewMode = UITextFieldViewMode.always
    }
}
Anish Parajuliウッド

TextField ストーリーボードからフレームを取得しているため、cornerRadiusの設定中に誤ったフレームサイズが取得されます。

コーナー半径の設定中にエラーが発生しました。

 self.layer.cornerRadius = self.frame.size.height / 2

これを次のように置き換えます

self.layer.cornerRadius = 2

または、drawRectメソッドをオーバーライドしてcornerRadiusを次のように設定するとさらに良い

override func draw(_ rect: CGRect) {

     self.layer.cornerRadius = rect.size.height / 2

}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

自動レイアウト:ViewDidAppearのフレームサイズが正しくありません

分類Dev

Entity FrameworkCoreのフィールドサイズが正しくありません

分類Dev

ASTの式のサイズがメンバーアクセスに対して正しくありません

分類Dev

プレロリポップのレイヤーリストでのアイテムのサイズが正しくありません

分類Dev

エラー126-テーブルのキーファイルが正しくありません-4,8GBのテーブルサイズ

分類Dev

ライブラリのデストラクタの「解放されたオブジェクトのチェックサムが正しくありません」

分類Dev

HorizontalScrollViewアイテムのサイズが正しくありません-Android

分類Dev

新しいディスクのパーティションサイズが正しくありません

分類Dev

UITableViewがスクロールされるまで、UITableCell内のUILabelのサイズが正しくありません

分類Dev

R keras:トレインラベルの指定されたクラスサイズへの変換が正しくありません

分類Dev

libgdxTiledMapのサイズが正しくありません

分類Dev

JFrameのサイズが正しくありません

分類Dev

iPhoneの画像サイズが正しくありません-

分類Dev

UICollectionViewCellのサイズが正しくありません

分類Dev

setMeasuredDimension()のサイズが正しくないか、サイズの計算が正しくありませんか?

分類Dev

マウント後にXFSボリュームのブロックサイズが正しくありません

分類Dev

swift3のコンパイルエラー:「AnyObject」は「NSObject」のサブタイプではありません

分類Dev

AutoLayout:UIView内のUIViewのフレームが正しくありません

分類Dev

フレーム%のキャンバス%にフレーム%サイズがありません

分類Dev

AndroidStudioエミュレーターのサイズが本物では正しくありません

分類Dev

入力グループの先頭にテキストのサイズが正しくありません

分類Dev

Swift3の初期UITableViewCell行の高さが正しくありません

分類Dev

NetBeans-Java EEサーバーのクラスパスが正しく設定されていません-サーバーのホームディレクトリにエラーがありません

分類Dev

ext4-fs:ジオメトリが正しくありません:ブロック数がデバイスのサイズを超えています

分類Dev

matplotlibマイナスサインインティックラベルのフォーマットが正しくありません

分類Dev

jsでアイテムを追加した後、HTMLテーブルのサイズが正しくありません

分類Dev

Chromeのフレックスボックスアイテムの高さが正しくありません

分類Dev

PyQTボタンのQGridLayoutのサイズが正しくありません

分類Dev

UITableCell の高さのサイズが正しくありません

Related 関連記事

  1. 1

    自動レイアウト:ViewDidAppearのフレームサイズが正しくありません

  2. 2

    Entity FrameworkCoreのフィールドサイズが正しくありません

  3. 3

    ASTの式のサイズがメンバーアクセスに対して正しくありません

  4. 4

    プレロリポップのレイヤーリストでのアイテムのサイズが正しくありません

  5. 5

    エラー126-テーブルのキーファイルが正しくありません-4,8GBのテーブルサイズ

  6. 6

    ライブラリのデストラクタの「解放されたオブジェクトのチェックサムが正しくありません」

  7. 7

    HorizontalScrollViewアイテムのサイズが正しくありません-Android

  8. 8

    新しいディスクのパーティションサイズが正しくありません

  9. 9

    UITableViewがスクロールされるまで、UITableCell内のUILabelのサイズが正しくありません

  10. 10

    R keras:トレインラベルの指定されたクラスサイズへの変換が正しくありません

  11. 11

    libgdxTiledMapのサイズが正しくありません

  12. 12

    JFrameのサイズが正しくありません

  13. 13

    iPhoneの画像サイズが正しくありません-

  14. 14

    UICollectionViewCellのサイズが正しくありません

  15. 15

    setMeasuredDimension()のサイズが正しくないか、サイズの計算が正しくありませんか?

  16. 16

    マウント後にXFSボリュームのブロックサイズが正しくありません

  17. 17

    swift3のコンパイルエラー:「AnyObject」は「NSObject」のサブタイプではありません

  18. 18

    AutoLayout:UIView内のUIViewのフレームが正しくありません

  19. 19

    フレーム%のキャンバス%にフレーム%サイズがありません

  20. 20

    AndroidStudioエミュレーターのサイズが本物では正しくありません

  21. 21

    入力グループの先頭にテキストのサイズが正しくありません

  22. 22

    Swift3の初期UITableViewCell行の高さが正しくありません

  23. 23

    NetBeans-Java EEサーバーのクラスパスが正しく設定されていません-サーバーのホームディレクトリにエラーがありません

  24. 24

    ext4-fs:ジオメトリが正しくありません:ブロック数がデバイスのサイズを超えています

  25. 25

    matplotlibマイナスサインインティックラベルのフォーマットが正しくありません

  26. 26

    jsでアイテムを追加した後、HTMLテーブルのサイズが正しくありません

  27. 27

    Chromeのフレックスボックスアイテムの高さが正しくありません

  28. 28

    PyQTボタンのQGridLayoutのサイズが正しくありません

  29. 29

    UITableCell の高さのサイズが正しくありません

ホットタグ

アーカイブ