ইউআইটিেক্সটফিল্ডের উচ্চতা কীভাবে সেট করবেন?


130

আমি একটি ব্যবহার করছি UITextField। আমি এর উচ্চতা বাড়াতে চাই তবে এটি করার মতো কোনও সম্পত্তি আমি পাইনি। আমি কীভাবে এটি অর্জন করতে পারি?

উত্তর:


83
CGRect frameRect = textField.frame;
frameRect.size.height = 100; // <-- Specify the height you want here.
textField.frame = frameRect;

4
আপনার IBUITextFeld সন্ধান করুন এবং <স্ট্রিং কী = "এনএসফ্রেম"> সম্পত্তি পরিবর্তন করুন
হটজার্ড

আমি চেষ্টা করেছিলাম কিন্তু এটি আমার পক্ষে কিছুই করেনি। কোথায় আপনি এই লাইন রাখেন? আমি এটি initWithNibName পদ্ধতিতে রেখেছি।
জেনেক্স

এটি ভিউডিডলড বা ভিউউইল অ্যাপ্লিকেশন / ভিউডিডএপার
মঞ্জুনাথ

2
ইউআইটিেক্সটফিল্ডের ডিফল্ট উচ্চতা 31, যে কেউ যেকোন একটি প্রোগ্রামক্রমে যুক্ত করে এটির একটি ডিফল্ট উচ্চতা চান
সাইমন_স্মাইলি

2
@ হটজার্ড আমি স্টোরিবোর্ড উত্সটিতে হ্যাকিংয়ের বিরুদ্ধে সুপারিশ করব, এটির কিছু মান পুনরায় সেট করতে ঝোঁক। উদাহরণস্বরূপ, আপনি যখন পাঠ্যক্ষেত্রের মতো উচ্চতা সেট করেন এবং আপনি ভিউতে একটি বোতাম যুক্ত করেন এবং ভিউটির পাঠ্যক্ষেত্রগুলি বোতামের পাঠ্য আকারটি সম্পাদনা করেন তখন তাদের ডিফল্ট উচ্চতায় ফিরে যাবে jump
কেভিন

212

আপনি বৃত্তাকার আয়তনের সীমানা শৈলীর উচ্চতা পরিবর্তন করতে পারবেন না। উচ্চতা সেট করতে, কেবল এক্সকোডে বৃত্তাকার সীমানা বাদে অন্য কোনও সীমানা শৈলী চয়ন করুন:

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


10.0 (বা যে কোনও) দিয়ে সাস্ট কর্নাররেডিয়াসটি কেবলমাত্র পরিবর্তিত হয়েছে এবং আপনি আবার বর্ডার স্টাইল সহ কাস্টম উচ্চতার সাথে ইউআইটেক্সটফিল্ড পেয়েছেন :)
বিটো

1
একটি আরও ভাল উপায় হ'ল বর্ডারস্টাইল = ইউআইটিেক্সটবর্ডার স্টাইলরাউন্ডেড রেক্ট;
ড্যারেন

কেন এটা সম্ভব হচ্ছে না?
শীর্ষস্থানীয়

151

অবশেষে আমি এর জন্য ঠিক খুঁজে পেয়েছি!

যেমনটি আমরা পেয়েছি, আইবি আমাদের বৃত্তাকার কোণার সীমানা শৈলীর উচ্চতা পরিবর্তন করতে দেয় না। সুতরাং এটিকে অন্য যে কোনও শৈলীতে পরিবর্তন করুন এবং পছন্দসই উচ্চতা নির্ধারণ করুন। কোডটিতে সীমানা শৈলীর পিছনে পরিবর্তন করুন।

textField.borderStyle = UITextBorderStyleRoundedRect;

ভাল কৌশল, তবে আপনি কীভাবে পাঠ্যের মাল্টি-লাইন উপস্থাপনের অনুমতি দিতে পারেন?
লুসিয়েন

7
@ লুকিয়েন - পাঠ্যক্ষেত্রের চেয়ে এটি কি টেক্সটরিয়া হবে না
ক্রেগ

আমি এটি আরও ভাল পছন্দ করি কারণ আমি এখনও ডিজাইনার ব্যবহার করতে পারি।
রিডলারডেভ

এটি ভিতরে হয়ে গেছে তা নিশ্চিত করুন viewWillLayoutSubviews। আমি leftViewটেক্সটফিল্ডের টেক্সট এবং কিছু পাঠ্যে একটি চিত্র যুক্ত করেছি এবং এটি যখন করা হয় viewDidLoadতখন উভয়ই অদ্ভুতভাবে প্রসারিত করে।

সুইফট ৩.০ ব্যবহারের জন্যtextField.borderStyle = .RoundedRect
জিওহেরনা

85

আপনি যদি অটো লেআউট ব্যবহার করছেন তবে আপনি এটি স্টোরি বোর্ডে করতে পারেন।

পাঠ্য ক্ষেত্রে একটি উচ্চতার সীমাবদ্ধতা যুক্ত করুন, তারপরে উচ্চতা সীমাবদ্ধতাটিকে কোনও পছন্দসই মানটিতে স্থির করুন। পদক্ষেপ নীচে প্রদর্শিত হয়:

পদক্ষেপ 1: পাঠ্য ক্ষেত্রের জন্য উচ্চতার সীমাবদ্ধতা তৈরি করুন

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

পদক্ষেপ 2: উচ্চতা সীমাবদ্ধতা নির্বাচন করুন

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

পদক্ষেপ 3: উচ্চতা সীমাবদ্ধতার ধ্রুবক মান পরিবর্তন করুন

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


এটি কাজ করেছিল তবে আমি এই নতুন সতর্কতা পেয়েছি, কোনও ধারণা:
পজিশনটি

যদি এটি বলে যে পজিশন অস্পষ্ট, তবে এর অর্থ হ'ল আপনার ইউআইটিেক্সটফিল্ড অবজেক্টটি স্থাপন করার কোনও বাধা নেই have আপনি x এবং y সংজ্ঞায়িত করতে একটি সীমাবদ্ধতা যুক্ত করার চেষ্টা করতে পারেন? উদাহরণস্বরূপ আপনি শীর্ষস্থানীয় স্থান সীমাবদ্ধ করতে পারেন (এক্স এর জন্য) এবং আপনি উপরের দিক থেকে উল্লম্ব স্থান সীমাবদ্ধ করতে পারেন।
ব্যবহারকারী 1046037

stackoverflow.com/questions/21295136/… যখন আমি এটি করি যে আমি একটি মুদ্রণ স্ক্রিন যুক্ত করেছি
Esqarrouth

আপনি যে ফন্টটি ব্যবহার করছেন তার জন্য সঠিক উচ্চতার সীমাবদ্ধতা সন্ধানের জন্য একটি পরামর্শ: বৃত্তাকার ব্যতীত অন্যborderStyle কোনও কিছুতে সেট করুন । লেআউটটির কাজটি করতে ব্যবহার করুন । আপনার সম্পত্তি তদারকির উচ্চতা পরীক্ষা করতে ব্যবহার করুন । আপনার উচ্চতার সীমাবদ্ধতা সেট আপ করতে এটি ব্যবহার করুন এবং এখন আপনি পিছনটিকে গোলাকারে পরিবর্তন করতে পারবেন । Editor -> Size to Fit ContentUITextFieldborderStyle
বেনজাহান

আমি কি এটি অগ্রগতিভাবে করতে পারি?
LKM

30

1.) ইন্টারফেসবিল্ডারে সীমানা স্টাইলটি পরিবর্তন করুন।

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

২) এর পরে আপনি আকার পরিবর্তন করতে পারবেন।

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

৩) আপনার টেক্সটফিল্ডে একটি আইবিআউটলেট তৈরি করুন এবং বর্ডারস্টাইলটি viewDidLoad()পিছনে পরিবর্তন করতে আপনার নীচের কোডটি প্রবেশ করুন ।

textField.borderStyle = UITextBorderStyleRoundedRect;

সুইফট 3:

textField.borderStyle = UITextBorderStyle.roundedRect

ধন্যবাদ @ ডেভিড সিক
ভিনোথ ভিনো

29
  1. বৃত্তাকার না হয়ে সীমানা শৈলীটি চয়ন করুন

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

  1. আপনার উচ্চতা সেট করুন

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

আপনার দৃশ্যে উইলঅ্যাপিয়ারে কোণগুলি রাউন্ড হিসাবে সেট করে

yourUITextField.borderStyle = UITextBorderStyleRoundedRect;

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

  1. আপনার বৃত্তাকার এবং লম্বা UITextField উপভোগ করুন

গ্রেট !! এটি আমাকে সাহায্য করেছিল।
অগাস্টিন পিএ

1
এটি দুর্দান্ত ছিল, এটি 3/4 এর সুইফ্টের জন্য আমাকে ব্যবহার করতে হয়েছিল, ...... আপনার টেক্সটফিল্ড.বারর্ডার স্টাইল = ইউআইটিেক্সটবারর্ডার স্টাইল.উন্ডারেড রেক্ট
টনি মেরিট

1
এটা তোলে UITextField.BorderStyle.roundedRect পরিবর্তিত
smj

14

এই দুটি সাধারণ পদক্ষেপ অনুসরণ করুন এবং আপনার উচ্চতা বৃদ্ধি করুন UItextField

ধাপ 1: এক্সআইবি ফাইলটিতে ডান ক্লিক করুন এবং "উত্স কোড" এর মতো এটি খুলুন।

দ্বিতীয় ধাপ: একই সন্ধান করুনUITextfield উত্সটি সন্ধান করুন এবং ফ্রেমটি আপনার পছন্দ মতো সেট করুন।

আপনি কোনও অ্যাপল নিয়ন্ত্রণের ফ্রেম পরিবর্তন করতে এই পদক্ষেপগুলি ব্যবহার করতে পারেন।


1
মজার তবে এটি সর্বোত্তম উপায় :)
ভিজিওএন

4
আপনি যখন অন্য প্রোগ্রামারটি উচ্চতা
নির্ধারিত রয়েছে তা সন্ধানের

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

8

আইওএস 6 এর জন্য একটি আপডেট: অটো-লেআউট ব্যবহার করে, আপনি এখনও ইন্টারফেস বিল্ডারে (কমপক্ষে এক্সকোড 4.5 ডিপি 4 হিসাবে) আকারের ইন্সপেক্টর থেকে ইউআইটিেক্সটফিল্ডের উচ্চতা সেট করতে না পারলেও এখন উচ্চতার সীমাবদ্ধতা সেট করা সম্ভব হবে is এটি, যা আপনি ইন্টারফেস বিল্ডার থেকে সম্পাদনা করতে পারেন।

এছাড়াও, আপনি যদি কোডের মাধ্যমে ফ্রেমের উচ্চতা নির্ধারণ করেন তবে আপনার দর্শনে থাকা অন্যান্য প্রতিবন্ধকতার উপর নির্ভর করে অটো-লেআউট এটিকে পুনরায় সেট করতে পারে।


1
এটিই আমি সন্ধান করছি ... তবে আমি কীভাবে উচ্চতা-সীমাবদ্ধতা সেট করব যাতে এটি ইউআইটিেক্সটফিল্ডের সামগ্রীর উপর ভিত্তি করে গতিময় উচ্চতা প্রসারিত করে?
জবান্দি

ফানক আপডেটটেক্সটফিল্ডস () {যদি # উপলভ্য থাকে (আইওএস 11, *) {} অন্য {নামটেক্সটফিল্ড.বর্ডারস্টাইল = রাউন্ডারেক্ট}} আমি চাই যে আমার বৃত্তাকার সীমান্ত পাঠ্য ফিল্ডগুলি আমি তাদের যে অ্যাডেটিভ ফন্টের উপর সেট করছি তার ভিত্তিতে তাদের উচ্চতা সামঞ্জস্য করতে। এটি আইওএস 11-এ বাক্সটির বাইরে চলে তবে আইওএস 9,10 এ মোটেই কাজ করে না। আমি নিম্নলিখিত কোডটি ব্যবহার করি:
ফোনিডোপোপার 17

6

আমি এটি একটি পুরানো প্রশ্ন জানি কিন্তু আমি কেবল যুক্ত করতে চেয়েছিলাম যদি আপনি সহজেই আইবি এর ভিতরে থেকে কোনও ইউআইটিেক্সটফিল্ডের উচ্চতা পরিবর্তন করতে চান তবে কেবল সেই ইউআইটিেক্সটফিল্ডের সীমানা টাইপটি ডিফল্ট গোলাকার কোণার প্রকার ব্যতীত অন্য যে কোনও জায়গায় পরিবর্তন করুন। তারপরে আপনি সম্পাদকের অভ্যন্তর থেকে সহজেই উচ্চতার বৈশিষ্ট্যগুলি প্রসারিত বা পরিবর্তন করতে পারেন।


4

swift3

@IBDesignable
class BigTextField: UITextField {
    override func didMoveToWindow() {
        super.didMoveToWindow()
        if window != nil {
            borderStyle = .roundedRect
        }
    }
}

ইন্টারফেস নির্মাতা

  • UITextFieldসঙ্গে প্রতিস্থাপনBigTextField
  • পরিবর্তন Border Style করার জন্য none

এটি এখন পর্যন্ত সেরা সমাধান is
ilovebigmacs

3

এই বোবা সমস্যায় আমার করুণ অবদান। আইবিতে স্টাইলটি কোনওটিতে সেট করা হয়নি যাতে আপনি উচ্চতা নির্ধারণ করতে পারেন, তারপরে আইবিতে শ্রেণিকে একটি সাবক্লাস হিসাবে সেট করুনUITextField করে শৈলীটিকে বৃত্তাকার রেকর্ড করতে বাধ্য করে।

@interface JLTForcedRoundedRectTextField : UITextField
@end

@implementation JLTForcedRoundedRectTextField
- (void)awakeFromNib
{
    self.borderStyle = UITextBorderStyleRoundedRect;
}
@end

এটি আমার ভিউ কন্ট্রোলারে এক্সআইবি ফাইল হ্যাক করা বা স্টাইল কোড লেখার হাত থেকে বাঁচিয়েছে।


3

সুইফ্ট 3 এ ব্যবহার করুন:

yourTextField.frame.size.height = 30

2

একটি ইউআইটিেক্সটফিল্ডের উচ্চতা কেবলমাত্র বৈশিষ্ট্য পরিদর্শকটিতে সামঞ্জস্যযোগ্য হয় না যখন এটিতে ডিফল্ট গোলাকার কোণার সীমানা শৈলী থাকে তবে একটি উচ্চতার সীমাবদ্ধতা (প্লাস অটোলেআউট সিস্টেমটি পূরণ করার জন্য প্রয়োজনীয় অন্যান্য কোনও বাধা - প্রায়শই কেবলমাত্র মিসিং সীমাবদ্ধতা যুক্ত করে) ব্যবহার করা হয় এবং সীমাবদ্ধতা সামঞ্জস্য করা পাঠ্যক্ষেত্রের উচ্চতা সামঞ্জস্য করবে। আপনি যদি সীমাবদ্ধতাগুলি না চান তবে সীমাবদ্ধতাগুলি সরিয়ে ফেলা যায় (সীমাবদ্ধতাগুলি পরিষ্কার করুন) এবং পাঠ্যক্ষেত্রটি সামঞ্জস্য করা উচ্চতায় থাকবে।

একটি যাদুমন্ত্র মত কাজ করে.



1
UITextField *txt = [[UITextField alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
    [txt setText:@"Ananth"];
    [self.view addSubview:txt];

শেষ দুটি আর্গুমেন্ট প্রস্থ এবং উচ্চতা, আপনি নিজের ইচ্ছামতো সেট করতে পারেন ...


1

আপনি ফ্রেমটি পরিবর্তন করতে পাঠ্যক্ষেত্রের ফ্রেম সম্পত্তি ব্যবহার করতে পারেন লাইক-টেক্সটফিল্ড.ফ্রেম = সিজিআরসিটি তৈরি করুন (এক্স অক্ষ, y অক্ষ, প্রস্থ, উচ্চতা)


1

এটি বেশ সহজ।

yourtextfield.frame = CGRectMake (yourXAxis, yourYAxis, yourWidth, yourHeight);

আপনার পাঠ্যক্ষেত্রকে গ্লোবাল সম্পত্তি হিসাবে ঘোষণা করুন এবং যেখানেই আপনি নিজের কোডটিতে এটি করতে চান তার ফ্রেম পরিবর্তন করুন।

শুভ কোডিং!


2
এটি একটি বিপজ্জনক এবং উত্সাহিত উত্তর। বিশ্বব্যাপী পরিবর্তনশীল ব্যবহার করা এটি একটি ভয়াবহ অনুশীলন বিবেচনা করে এটিকে দৃশ্যমান করে তুলবে এবং একটি আকারের হার্ডকোডিং নমনীয় বিন্যাসগুলি দিয়ে ভাল স্কেল করতে পারে না।
ক্রিস কনভারের

1

আপনি যদি অনেকগুলি তৈরি করে থাকেন তবে UITextFieldsএটি সাবক্লাসের থেকে দ্রুততর হয়ে UITextViewসেটফ্রেম পদ্ধতিটি ওভাররাইড করে

-(void)setFrame:(CGRect)frame{
    [self setBorderStyle:UITextBorderStyleRoundedRect];
    [super setFrame:frame];
    [self setBorderStyle:UITextBorderStyleNone];
}  

এইভাবে আপনি কল করতে পারেন
[customTextField setFrame:<rect>];


0

আমি একই সমস্যা ছিল। এই সমস্ত মাম্বু-জাম্বো না করে সমাধানের জন্য এখানে চেষ্টা করেছি। আমি কেবল উচ্চতার প্রতিবন্ধকতা নির্ধারণ করা যথেষ্ট found

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