সুইফ্ট সহ স্থানধারক পাঠ্যের রঙ পরিবর্তন করা


226

আমার কাছে এমন একটি নকশা রয়েছে যা একটি গা blue় নীলকে কার্যকর করে UITextField, কারণ স্থানধারক পাঠ্যটি ডিফল্ট হিসাবে গা dark় ধূসর বর্ণের হয় আমি স্থানধারক পাঠ্য কি বলে তা সবেই তৈরি করতে পারি।

আমি অবশ্যই সমস্যাটি গুগল করেছি তবে সুইফট ভাষাটি ব্যবহার করার সময় আমি ওবজ-সি ব্যবহার করে সমাধান করতে পারিনি।

কোনও UITextFieldসুইফ্ট ব্যবহার করে স্থানধারক পাঠ্যের রঙ পরিবর্তন করার কোনও উপায় আছে কি ?

উত্তর:


501

আপনি কোনও বিশিষ্ট স্ট্রিং ব্যবহার করে প্লেসোল্ডার পাঠ্য সেট করতে পারেন । আপনি যে রঙটি চান তা দিয়ে পাস করুন attributes:

var myTextField = UITextField(frame: CGRect(x: 0, y: 0, width: 200, height: 30))
myTextField.backgroundColor = .blue
myTextField.attributedPlaceholder = NSAttributedString(string: "placeholder text",
                             attributes: [NSForegroundColorAttributeName: UIColor.yellow])

সুইফ্ট 3+ এর জন্য নিম্নলিখিত ব্যবহার করুন:

myTextField.attributedPlaceholder = NSAttributedString(string: "placeholder text",
                             attributes: [NSAttributedStringKey.foregroundColor: UIColor.white])

সুইচ ৪.২ এর জন্য নিম্নলিখিত ব্যবহার করুন:

myTextField.attributedPlaceholder = NSAttributedString(string: "placeholder text",
                             attributes: [NSAttributedString.Key.foregroundColor: UIColor.white])

আইওএস 11 এসডিকে - কীটির কোনও অগ্রভাগের রঙ নেই: সেল.সেইমেলটেক্সটফিল্ড? .ট্রিবিউটেডপ্লেসোল্ডার = এনএসএট্রিবিউটেড স্ট্রিং (স্ট্রিং: "প্লেসোল্ডার টেক্সট", বৈশিষ্ট্য: [এনএসএটিগ্রিবিটস্ট্রিংকি: ফোরগ্রাউন্ডার কালার: ইউআইকিওলর.ওয়াইট])
ম্যাথু ফার্গুসন

@ ম্যাথেজ ফার্গুসন, আমি এটি চেষ্টা করেছি এবং এটি কাজ করে। আপনার কাছে কি এক্সকোড 9 এর প্রকাশিত সংস্করণ রয়েছে? কি ধরণের emailTextField?
ভ্যাকোয়ামা

2
@ ভাকাওয়ামা বিনিময়ের জন্য ধন্যবাদ। লিগ্যাসি প্রকল্প, অ্যাপ স্টোর থেকে আমার এক্সকোড আপডেট করেছে - সংস্করণ 9.0 (9A235), এবং অবশেষে আত্ম.পাসওয়ার্ডটেক্সটফিল্ডের সমাধান নিয়ে এসেছিল?
ম্যাথু ফার্গুসন

3
আইওএস 11 এসডিকে ব্যবহারের জন্যmyTextField.attributedPlaceholder = NSAttributedString(string: "placeholder text", attributes: [NSForegroundColorAttributeName: UIColor.white])
Gema Megantara

1
স্ট্রিং সেট না করে রঙ সেট করার কোনও উপায় আছে কি?
স্কটিব্ল্যাডেস

285

আপনি ইন্টারফেস বিল্ডার ব্যবহার করে কোডের একটি লাইন যুক্ত না করে দ্রুত এটি সম্পাদন করতে পারবেন।

UITextFieldডানদিকে পরিচয় পরিদর্শকটি নির্বাচন করুন এবং খুলুন:

এখানে চিত্র বর্ণনা লিখুন

প্লাস বোতামে ক্লিক করুন এবং একটি নতুন রানটাইম বৈশিষ্ট্য যুক্ত করুন:

স্থানধারক লেবেল.টেক্সট কালার (সুইফ্ট 4)

_প্লেসোল্ডার লেবেল.টেক্সট কালার (সুইফট 3 বা তার চেয়ে কম)

রঙ হিসাবে টাইপ হিসাবে ব্যবহার করুন এবং রঙ নির্বাচন করুন।

এটাই.

আপনার অ্যাপ্লিকেশনটি আবার চালা না করা পর্যন্ত আপনি ফলাফলটি দেখতে পাবেন না।


1
সত্য, তবে এটি একধরনের হ্যাক, যেহেতু স্থানধারক
ফ্রেডেরিক অ্যাডা

1
আমরা ক্লাসের একটি ব্যক্তিগত সম্পত্তি ব্যবহার করছি যেহেতু অ্যাপ্লিকেশনটি কি প্রত্যাখাত হবে?
আগস্টকাস্ট

2
দুর্ভাগ্যক্রমে এটি iOS 10 এ কমপক্ষে কাজ করবে বলে মনে হচ্ছে না।
নিকডনক

2
পছন্দ করুন এখনই আমি আইওএস 10.2.1 এ পরীক্ষা করেছি এবং এটি কার্যকর হয়। :)
আন্দ্রেজ

2
অ্যাপল অভ্যন্তরীণ বাস্তবায়নে পরিবর্তন
ভ্লাদ

127

UITextFieldএটির মতো এক্সটেনশন তৈরি করুন :

extension UITextField{
   @IBInspectable var placeHolderColor: UIColor? {
        get {
            return self.placeHolderColor
        }
        set {
            self.attributedPlaceholder = NSAttributedString(string:self.placeholder != nil ? self.placeholder! : "", attributes:[NSAttributedString.Key.foregroundColor: newValue!])
        }
    }
}

এবং আপনার স্টোরিবোর্ডে বা .xib এ। তুমি দেখবে

এখানে চিত্র বর্ণনা লিখুন


11
Ning সতর্কতা: আপনি কখনও সম্পত্তি পড়ার সিদ্ধান্ত নেওয়ার পরে এই এক্সটেনশনটি আপনার প্রোগ্রামটি ক্র্যাশ করবে ! আপনি যদি কোনও গণিত সম্পত্তির মানটি সম্পত্তির প্রাপকের কাছ থেকে নিজেই ফেরত দেন তবে গেটরকে গেটারের মধ্যে থেকে আবার কল করা হবে যার ফলস্বরূপ অসীম পুনরাবৃত্তি ঘটে। (দেখুন: স্ট্যাকওভারফ্লো.com / a / 42334711 / 2062785 )placeHolderColor
মিসচা

1
এটি ঠিক করার জন্য এবং প্রত্যাশিত আচরণটি পেতে (যেমন সঠিক স্থানধারকের রঙ) attributedStringপ্রথম অক্ষরটি (খালি না থাকলে) পান এবং অন্যথায় এর পাঠ্য রঙটি ফিরিয়ে আনুন nil
মিশা

বাক্সে কেন 2 টি রঙ দেখানো হয়েছে। আমি ভেবেছিলাম এটি ডার্ক মোডের জন্য তবে এটি হ'ল না।
আসরেরাম

27

সুইফ্ট 3.0 এ, ব্যবহার করুন

let color = UIColor.lightText
textField.attributedPlaceholder = NSAttributedString(string: textField.placeholder, attributes: [NSForegroundColorAttributeName : color])

সিউফুট 5.0 + ব্যবহার করুন

let color = UIColor.lightText
let placeholder = textField.placeholder ?? "" //There should be a placeholder set in storyboard or elsewhere string or pass empty
textField.attributedPlaceholder = NSAttributedString(string: placeholder, attributes: [NSAttributedString.Key.foregroundColor : color])

24

এই কোডটি সুইফট 3 এ কাজ করছে:

yourTextFieldName .setValue(UIColor.init(colorLiteralRed: 80/255, green: 80/255, blue: 80/255, alpha: 1.0), forKeyPath: "_placeholderLabel.textColor")

আপনার যদি কোন সমস্যা থাকে তবে আমাকে জানান।


1 টির বেশি পাঠ্য ফিল্ডে এটি করার চেষ্টা করার পরে কোনও কারণে এই ক্রাশ হয় ras প্রথমটি সূক্ষ্মভাবে কাজ করে তারপরে এটি পরবর্তী সমস্ত পাঠ্য ফিল্ডগুলিতে ক্র্যাশ হয়। নিশ্চিত না তবে তবে আমি আশা করি যে আমি এই পদ্ধতিটি সবচেয়ে সহজ এবং সর্বাধিক পঠনযোগ্য থেকে ব্যবহার করতে পারতাম
টমি কে

setValueএকটি ব্যক্তিগত সম্পত্তি অ্যাক্সেস ব্যবহার করার প্রয়োজন নেই । যথাযথ পাবলিক এপিআই ব্যবহার করুন।
rmaddy

এটি সেরা উত্তর ... এতটা Tnx।
রেজা_খালাফি

এক্সকোড 10 / সুইফ্ট 5 আক্ষরিক বাক্য গঠন:#colorLiteral(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0)
লাল কৃষ্ণ

15

UITextFieldআপনার অ্যাপ্লিকেশনের জন্য একবারে স্থানধারকের রঙ সেট করতে আপনি যা করতে পারেন:

UILabel.appearanceWhenContainedInInstancesOfClasses([UITextField.self]).textColor = UIColor.redColor()

এটি TextFieldপুরো অ্যাপ্লিকেশনে সমস্ত স্থানধারীদের জন্য পছন্দসই রঙ সেট করবে । তবে এটি কেবল আইওএস 9 এর পরে উপলব্ধ।

আইওএস 9 এর আগে সুইচ-এ কোনও উপস্থিতি নেই যখন .... () পদ্ধতিটি নেই তবে আপনি এখানে সরবরাহকৃত সমাধানগুলির মধ্যে একটির ব্যবহার করতে পারেন সুইফটে যখন কনটেনইন ইন


এটি কেবল স্থানধারীর রঙই নয়, পাঠ্যের রঙকেও পরিবর্তন করবে।
তৈমুর সুলাইমানভ

7

আমার ক্ষেত্রে আমি সুইফট 4 ব্যবহার করি

আমি ইউআইটিেক্সটফিল্ডের জন্য এক্সটেনশন তৈরি করি

extension UITextField {
    func placeholderColor(color: UIColor) {
        let attributeString = [
            NSAttributedStringKey.foregroundColor: color.withAlphaComponent(0.6),
            NSAttributedStringKey.font: self.font!
            ] as [NSAttributedStringKey : Any]
        self.attributedPlaceholder = NSAttributedString(string: self.placeholder!, attributes: attributeString)
    }
}

আপনার ফিল্ড.প্লেসহোল্ডার কালার (রঙ: ইউআইকিওলোর.ওয়াইট)


6

এক্সকোড 9.2 সুইফট 4

extension UITextField{
    @IBInspectable var placeHolderColor: UIColor? {
        get {
            return self.placeHolderColor
        }
        set {
            self.attributedPlaceholder = NSAttributedString(string:self.placeholder != nil ? self.placeholder! : "", attributes:[NSAttributedStringKey.foregroundColor: newValue!])
        }
    }
}

2
এটি কাজ করবে না। প্রাপ্তি অসীম পুনরাবৃত্তি ঘটায়।
rmaddy

2
এটি দ্রুত 4 এ সূক্ষ্মভাবে কাজ করছে I আমি কোডটিতে ব্রেকপয়েন্ট তৈরি করেছি এবং এটি পরীক্ষা করেছি ..আপনি পুনরাবৃত্তি ঘটছে না।
আর মোহন

1
এটি ব্যবহার করবেন না। এর ফলে অসীম পুনরাবৃত্তি ঘটবে। চেষ্টা করুন: মুদ্রণ (টেক্সটফিল্ড.প্লেসহোল্ডার কালার)
ডেভিড রিস

5

সুইফট 4:

txtControl.attributedPlaceholder = NSAttributedString(string: "Placeholder String...",attributes: [NSAttributedStringKey.foregroundColor: UIColor.gray])

উদ্দেশ্য গ :

UIColor *color = [UIColor grayColor];
txtControl.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"Placeholder String..." attributes:@{NSForegroundColorAttributeName: color}];

4

এখানে দ্রুত 4 এর জন্য আমার দ্রুত বাস্তবায়ন:

extension UITextField {
    func placeholderColor(_ color: UIColor){
        var placeholderText = ""
        if self.placeholder != nil{
            placeholderText = self.placeholder!
        }
        self.attributedPlaceholder = NSAttributedString(string: placeholderText, attributes: [NSAttributedStringKey.foregroundColor : color])
    }
}

যেমন ব্যবহার করুন:

streetTextField?.placeholderColor(AppColor.blueColor)

আশা করি এটি কাউকে সাহায্য করবে!


সুইফট ৪.২: সেল্ফ.ট্রিবিউটেডপ্লেসোল্ডার = এনএসএট্রিবিউটেড স্ট্রিং (স্ট্রিং: প্লেসোল্ডার টেক্সট, অ্যাট্রিবিউটস: [এনএসএট্রিবিউটেড স্ট্রিং.কি.ফোরগ্রাউন্ড কালার: কালার])
শন স্থায়ী হয়েছে

4

সুইফট 3 (সম্ভবত 2), আপনি UITextFieldসাবক্লাসে স্থানধারকটিতে ডেটসেটটি এটিকে অ্যাট্রিবিউট প্রয়োগ করতে ওভাররাইড করতে পারেন :

override var placeholder: String? {

    didSet {
        guard let tmpText = placeholder else {
            self.attributedPlaceholder = NSAttributedString(string: "")
            return
        }

        let textRange = NSMakeRange(0, tmpText.characters.count)
        let attributedText = NSMutableAttributedString(string: tmpText)
        attributedText.addAttribute(NSForegroundColorAttributeName , value:UIColor(white:147.0/255.0, alpha:1.0), range: textRange)

        self.attributedPlaceholder = attributedText
    }
}

4

সুইফ্টের জন্য

ইউআইটিেক্সটফিল্ড এক্সটেনশন তৈরি করুন

extension UITextField{

    func setPlaceHolderColor(){
        self.attributedPlaceholder = NSAttributedString(string: self.placeholder!, attributes: [NSForegroundColorAttributeName : UIColor.white])
    }
}

আপনি যদি স্টোরিবোর্ড থেকে সেট করেন।

extension UITextField{
    @IBInspectable var placeHolderColor: UIColor? {
        get {
            return self.placeHolderColor
        }
        set {
            self.attributedPlaceholder = NSAttributedString(string:self.placeholder != nil ? self.placeholder! : "", attributes:[NSAttributedString.Key.foregroundColor : newValue!])
        }
    }
}

3

সুইফ্ট 3 এবং 3.1 এর জন্য এটি পুরোপুরি সূক্ষ্মভাবে কাজ করে:

passField.attributedPlaceholder = NSAttributedString(string: "password", attributes: [NSForegroundColorAttributeName: UIColor.white])

3

জন্য সুইফট 4.0 X-কোড 9.1 সংস্করণ বা iOS 11 আপনি বিভিন্ন স্থানধারক রঙ আছে নিম্নলিখিত সিনট্যাক্স ব্যবহার করতে পারেন

textField.attributedPlaceholder = NSAttributedString(string: "Placeholder Text", attributes: [NSAttributedStringKey.foregroundColor : UIColor.white])

3

এখানে কতগুলি দুর্বল সমাধান রয়েছে তা দেখে আমি অবাক হয়েছি।

এখানে একটি সংস্করণ যা সর্বদা কাজ করবে is

সুইফট 4.2

extension UITextField{
    @IBInspectable var placeholderColor: UIColor {
        get {
            return self.attributedPlaceholder?.attribute(.foregroundColor, at: 0, effectiveRange: nil) as? UIColor ?? .lightText
        }
        set {
            self.attributedPlaceholder = NSAttributedString(string: self.placeholder ?? "", attributes: [.foregroundColor: newValue])
        }
    }
}

টিপ : আপনি রঙ নির্ধারণের পরে স্থানধারক পাঠ্য পরিবর্তন করলে রঙটি পুনরায় সেট হবে।


3

কেবল সুইডেল 4.2-তে লিখিত পুরো অ্যাপ্লিকেশনটিতে পরিবর্তন করতে চাইলে অ্যাডিলেগেটের ডিড ফিনিশ লঞ্চিং উইথঅপশন পদ্ধতিতে কোডটি নীচে লিখুন

UILabel.appearance(whenContainedInInstancesOf: [UITextField.self]).textColor = UIColor.white

1

সুইফট 4-এর জন্য ক্রুবিওর উত্তর আপডেট

ইউআইটিেক্সটফিল্ড নির্বাচন করুন এবং ডানদিকে পরিচয় পরিদর্শকটি খুলুন:

প্লাস বোতামে ক্লিক করুন এবং একটি নতুন রানটাইম বৈশিষ্ট্য যুক্ত করুন: স্থানধারক লেবেল.টেক্সট কালার (_ স্থানধারক লেবেল.টেক্সট কালারের পরিবর্তে)

রঙ হিসাবে টাইপ হিসাবে ব্যবহার করুন এবং রঙ নির্বাচন করুন।

আপনি যদি আপনার প্রকল্পটি চালনা করেন তবে আপনি পরিবর্তনগুলি দেখতে পাবেন।


1

দ্রুততম 4.2 এবং উপরে আপনি নীচের মত এটি করতে পারেন:

textField.attributedPlaceholder = NSAttributedString(string: "Placeholder Text", attributes: [NSAttributedString.Key.foregroundColor: UIColor.white])

1

আমার ক্ষেত্রে, আমি নিম্নলিখিতগুলি করেছেন:

extension UITextField {
    @IBInspectable var placeHolderColor: UIColor? {
        get {
            if let color = self.attributedPlaceholder?.attribute(.foregroundColor, at: 0, effectiveRange: nil) as? UIColor {
                return color
            }
            return nil
        }
        set (setOptionalColor) {
            if let setColor = setOptionalColor {
                let string = self.placeholder ?? ""
                self.attributedPlaceholder = NSAttributedString(string: string , attributes:[NSAttributedString.Key.foregroundColor: setColor])
            }
        }
    }
}

1

আমি এখানে ইউআইটিেক্সটফিল্ডের সমস্ত ইউআইডি ডিজাইনযোগ্য লিখছি। এই কোডটির সাহায্যে আপনি স্টোরিবোর্ডে ইউআই ফাইল ইন্সপেক্টর থেকে সরাসরি এটি অ্যাক্সেস করতে পারবেন

@IBDesignable
class CustomTextField: UITextField {

@IBInspectable var leftImage: UIImage? {
    didSet {
        updateView()
    }
}

@IBInspectable var leftPadding: CGFloat = 0 {
    didSet {
        updateView()
    }
}

@IBInspectable var rightImage: UIImage? {
    didSet {
        updateView()
    }
}

@IBInspectable var rightPadding: CGFloat = 0 {
    didSet {
        updateView()
    }
}

private var _isRightViewVisible: Bool = true
var isRightViewVisible: Bool {
    get {
        return _isRightViewVisible
    }
    set {
        _isRightViewVisible = newValue
        updateView()
    }
}

func updateView() {
    setLeftImage()
    setRightImage()

    // Placeholder text color
    attributedPlaceholder = NSAttributedString(string: placeholder != nil ?  placeholder! : "", attributes:[NSAttributedString.Key.foregroundColor: tintColor])
}

func setLeftImage() {
    leftViewMode = UITextField.ViewMode.always
    var view: UIView

    if let image = leftImage {
        let imageView = UIImageView(frame: CGRect(x: leftPadding, y: 0, width: 20, height: 20))
        imageView.image = image
        // Note: In order for your image to use the tint color, you have to select the image in the Assets.xcassets and change the "Render As" property to "Template Image".
        imageView.tintColor = tintColor

        var width = imageView.frame.width + leftPadding

        if borderStyle == UITextField.BorderStyle.none || borderStyle == UITextField.BorderStyle.line {
            width += 5
        }

        view = UIView(frame: CGRect(x: 0, y: 0, width: width, height: 20))
        view.addSubview(imageView)
    } else {
        view = UIView(frame: CGRect(x: 0, y: 0, width: leftPadding, height: 20))
    }

    leftView = view
}

func setRightImage() {
    rightViewMode = UITextField.ViewMode.always

    var view: UIView

    if let image = rightImage, isRightViewVisible {
        let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 20, height: 20))
        imageView.image = image
        // Note: In order for your image to use the tint color, you have to select the image in the Assets.xcassets and change the "Render As" property to "Template Image".
        imageView.tintColor = tintColor

        var width = imageView.frame.width + rightPadding

        if borderStyle == UITextField.BorderStyle.none || borderStyle == UITextField.BorderStyle.line {
            width += 5
        }

        view = UIView(frame: CGRect(x: 0, y: 0, width: width, height: 20))
        view.addSubview(imageView)

    } else {
        view = UIView(frame: CGRect(x: 0, y: 0, width: rightPadding, height: 20))
    }

    rightView = view
}


@IBInspectable public var borderColor: UIColor = UIColor.clear {
    didSet {
        layer.borderColor = borderColor.cgColor
    }
}

@IBInspectable public var borderWidth: CGFloat = 0 {
    didSet {
        layer.borderWidth = borderWidth
    }
}

@IBInspectable public var cornerRadius: CGFloat = 0 {
    didSet {
        layer.cornerRadius = cornerRadius
    }
}
@IBInspectable public var bottomBorder: CGFloat = 0 {
    didSet {
       borderStyle = .none
        layer.backgroundColor = UIColor.white.cgColor

        layer.masksToBounds = false
     //   layer.shadowColor = UIColor.gray.cgColor
        layer.shadowOffset = CGSize(width: 0.0, height: 1.0)
        layer.shadowOpacity = 1.0
        layer.shadowRadius = 0.0
    }
}
@IBInspectable public var bottomBorderColor : UIColor = UIColor.clear {
    didSet {

        layer.shadowColor = bottomBorderColor.cgColor
        layer.shadowOffset = CGSize(width: 0.0, height: 1.0)
        layer.shadowOpacity = 1.0
        layer.shadowRadius = 0.0
    }
}
/// Sets the placeholder color
@IBInspectable var placeHolderColor: UIColor? {
    get {
        return self.placeHolderColor
    }
    set {
        self.attributedPlaceholder = NSAttributedString(string:self.placeholder != nil ? self.placeholder! : "", attributes:[NSAttributedString.Key.foregroundColor: newValue!])
    }
}

}

0

সুইফ্টের জন্য

func setPlaceholderColor(textField: UITextField, placeholderText: String) {
    textField.attributedPlaceholder = NSAttributedString(string: placeholderText, attributes: [NSForegroundColorAttributeName: UIColor.pelorBlack])
}

আপনি এটি ব্যবহার করতে পারেন;

self.setPlaceholderColor(textField: self.emailTextField, placeholderText: "E-Mail/Username")

0

এটি আপনার পাঠ্যফিল্ডটি ব্যক্তিগতকৃত করার বিষয়ে আরও বেশি তবে যাই হোক আমি এই কোডটি অন্য পৃষ্ঠা থেকে পেয়েছি এবং এটি কিছুটা আরও ভাল করে তুলেছি:

import UIKit
extension UITextField {
func setBottomLine(borderColor: UIColor, fontColor: UIColor, placeHolderColor:UIColor, placeHolder: String) {
    self.borderStyle = UITextBorderStyle.none
    self.backgroundColor = UIColor.clear
    let borderLine = UIView()
    let height = 1.0
    borderLine.frame = CGRect(x: 0, y: Double(self.frame.height) - height, width: Double(self.frame.width), height: height)
    self.textColor = fontColor
    borderLine.backgroundColor = borderColor
    self.addSubview(borderLine)
    self.attributedPlaceholder = NSAttributedString(
        string: placeHolder,
        attributes: [NSAttributedStringKey.foregroundColor: placeHolderColor]
    )
  }
}

এবং আপনি এটি এর মতো ব্যবহার করতে পারেন:

self.textField.setBottomLine(borderColor: lineColor, fontColor: fontColor, placeHolderColor: placeHolderColor, placeHolder: placeHolder)

আপনার UITextFieldসাথে একটি সংযুক্ত আছে তা জেনে ViewController

সূত্র: http://codepany.com/blog/swift-3-custom-uitextfield-with-single-line-input/


0

এখানে চিত্র বর্ণনা লিখুন

জন্য উদ্দেশ্য সি :

UIColor *color = [UIColor colorWithRed:0.44 green:0.44 blue:0.44 alpha:1.0];
 emailTextField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"Friend's Email" attributes:@{NSForegroundColorAttributeName: color}];

জন্য সুইফট :

emailTextField.attributedPlaceholder = NSAttributedString(string: "Friend's Email",
                             attributes: [NSAttributedString.Key.foregroundColor: UIColor.white])

0

স্থানধারক পাঠ্যের রঙ পরিবর্তন করার জন্য উদ্দেশ্য সি কোড।

প্রথমে এই অবজেক্ট / রানটাইম ক্লাসটি আমদানি করুন -

#import <objc/runtime.h>

তারপরে আপনার পাঠ্যক্ষেত্রের নামটি প্রতিস্থাপন করুন -

Ivar ivar =  class_getInstanceVariable([UITextField class], "_placeholderLabel");
UILabel *placeholderLabel = object_getIvar(YourTxtField, ivar);
placeholderLabel.textColor = [UIColor whiteColor];


0

iOS13 এর জন্য

+(void)ChangeplaceholderColor :(UITextField *)TxtFld andColor:(UIColor*)color { 
    NSMutableAttributedString *placeholderAttributedString = [[NSMutableAttributedString alloc] initWithAttributedString:TxtFld.attributedPlaceholder];
       [placeholderAttributedString addAttribute:NSForegroundColorAttributeName value:color range:NSMakeRange(0, [placeholderAttributedString length])];
       TxtFld.attributedPlaceholder = placeholderAttributedString;

}

0

সুইফটে এ জাতীয় ব্যবহার করুন,

 let placeHolderText = textField.placeholder ?? ""
 let str = NSAttributedString(string:placeHolderText!, attributes: [NSAttributedString.Key.foregroundColor :UIColor.lightGray])
 textField.attributedPlaceholder = str

উদ্দেশ্য সি

NSString *placeHolder = [textField.placeholder length]>0 ? textField.placeholder: @"";
NSAttributedString *str = [[NSAttributedString alloc] initWithString:placeHolder attributes:@{ NSForegroundColorAttributeName : [UIColor lightGrayColor] }];
textField.attributedPlaceholder = str;

0
 extension UITextField{
        @IBInspectable var placeHolderColor: UIColor? {
            get {
                return self.placeHolderColor
            }
            set {
                self.attributedPlaceholder = NSAttributedString(string:self.placeholder != nil ?
    self.placeholder! : "",
    attributes:[NSAttributedString.Key.foregroundColor : newValue!])
            }
        } 

}


-1

কোনও বিশিষ্ট স্থানধারক যুক্ত করার জন্য এটি ব্যবহার করুন:

let attributes : [String : Any]  = [ NSForegroundColorAttributeName: UIColor.lightGray,
                                     NSFontAttributeName : UIFont(name: "Helvetica Neue Light Italic", size: 12.0)!
                                   ]
x_textfield.attributedPlaceholder = NSAttributedString(string: "Placeholder Text", attributes:attributes)

-1

সুইফট 4 এর জন্য

txtField1.attributedPlaceholder = NSAttributedString(string: "-", attributes: [NSAttributedStringKey.foregroundColor: UIColor.white])

1
এটি বেশ কয়েকটি পূর্ববর্তী উত্তরগুলির সদৃশ। সদৃশ উত্তর পোস্ট করার দরকার নেই।
rmaddy

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.