ইউআইটিেক্সটফর্ডার স্টাইলনোন: সুইফট সহ ইউআইটিেক্সটফিল্ডের জন্য প্যাডিং সেট করুন
@ এভিল ট্রাউটের সর্বাধিক ভোট দেওয়া উত্তরের ভিত্তিতে আমি আমার ভিউকন্ট্রোলার শ্রেণিতে একটি কাস্টম পদ্ধতি তৈরি করেছি, যেমন দেখানো বেলো:
- (void) modifyTextField:(UITextField *)textField
{
UIView *paddingView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 20)];
textField.leftView = paddingView;
textField.leftViewMode = UITextFieldViewModeAlways;
textField.rightView = paddingView;
textField.rightViewMode = UITextFieldViewModeAlways;
[textField setBackgroundColor:[UIColor whiteColor]];
[textField setTextColor:[UIColor blackColor]];
}
এখন আমি সেই পদ্ধতির ভিতরে কল করতে পারি (ভিউডিডলড পদ্ধতি) এবং সেই পদ্ধতিতে আমার যে কোনও টেক্সটফিল্ড প্রেরণ করতে এবং ডান এবং বাম উভয়ের জন্য প্যাডিং যুক্ত করতে এবং কোডের কেবল একটি লাইন লিখে পাঠ্য এবং পটভূমির রঙ দিতে পারেন:
[self modifyTextField:self.firstNameTxtFld];
এটি আইওএস 7 এ পুরোপুরি কাজ করেছে! আমি জানি যে অতিরিক্ত ভিউ যুক্ত করা এটিকে কিছুটা ভারী শ্রেণীর বোঝা হতে পারে। তবে অন্যান্য সমাধানে অসুবিধা সম্পর্কে উদ্বিগ্ন হয়ে গেলে আমি নিজেকে এই পদ্ধতির প্রতি আরও পক্ষপাতদুষ্ট এবং এইভাবে ব্যবহার করার ক্ষেত্রে আরও নমনীয় বলে মনে করি। ;)
হ্যাক "এভিল ট্রাউট" এর জন্য ধন্যবাদ! (নম)
আমি ভেবেছিলাম সুইফট সহ আমার এই উত্তরটির কোড স্নিপেট আপডেট করা উচিত:
যেহেতু সুইফ্ট আমাদের বিদ্যমান ক্লাসগুলির জন্য এক্সটেনশান লেখার অনুমতি দেয়, আসুন এটি সেভাবেই লিখুন।
extension UITextField {
func addPaddingToTextField() {
let paddingView: UIView = UIView.init(frame: CGRectMake(0, 0, 8, 20))
self.leftView = paddingView;
self.leftViewMode = .Always;
self.rightView = paddingView;
self.rightViewMode = .Always;
self.backgroundColor = UIColor.whiteColor()
self.textColor = UIColor.blackColor()
}
}
ব্যবহার:
self.firstNameTxtFld.addPaddingToTextField()
আশা করি এটি অন্য কারও জন্য সহায়ক হবে!
চিয়ার্স!