जवाबों:
CGRect frameRect = textField.frame;
frameRect.size.height = 100; // <-- Specify the height you want here.
textField.frame = frameRect;
आप राउंडेड रेक्ट बॉर्डर स्टाइल की ऊंचाई नहीं बदल सकते। ऊंचाई सेट करने के लिए, बस Xcode में गोल बॉर्डर के अलावा किसी भी बॉर्डर स्टाइल को चुनें:
मैं अंत में इस के लिए तय पाया!
जैसा कि हमने पाया है, आईबी हमें गोल कोने की सीमा शैली की ऊंचाई को बदलने की अनुमति नहीं देता है। इसलिए इसे किसी भी अन्य शैली में बदलें और वांछित ऊंचाई निर्धारित करें। कोड में सीमा शैली वापस बदलें।
textField.borderStyle = UITextBorderStyleRoundedRect;
viewWillLayoutSubviews
। मैंने leftView
टेक्स्टफ़ील्ड और कुछ टेक्स्ट में एक छवि जोड़ी , और जब यह किया जाता है तो viewDidLoad
वे दोनों अजीब तरह से फैलते हैं।
textField.borderStyle = .RoundedRect
यदि आप Auto Layout का उपयोग कर रहे हैं तो आप Story Board पर कर सकते हैं।
टेक्स्ट फ़ील्ड में एक ऊँचाई की बाधा जोड़ें, फिर किसी भी वांछित मान के लिए ऊँचाई की बाधा को बदलें। कदम नीचे दिखाए गए हैं:
चरण 1: पाठ क्षेत्र के लिए एक ऊँचाई की बाधा बनाएँ
चरण 2: ऊंचाई की कमी का चयन करें
चरण 3: ऊँचाई की कमी के निरंतर मूल्य को बदलें
borderStyle
किसी भी चीज़ पर सेट करें । लेआउट का उपयोग अपनी चीज करने के लिए करें। इसकी ऊँचाई की जाँच करने के लिए अपने पर संपत्ति निरीक्षक का उपयोग करें । अपनी ऊँचाई की बाधा को स्थापित करने के लिए इसका उपयोग करें, और अब आप वापस गोल को बदल सकते हैं । Editor -> Size to Fit Content
UITextField
borderStyle
1.) इंटरफ़ेस स्टाइल में बॉर्डर स्टाइल बदलें।
2.) उसके बाद आप आकार बदलने में सक्षम हैं।
3.) अपने TextField में एक IBOutlet बनाएं और viewDidLoad()
BorderStyle को वापस बदलने के लिए अपने कोड में निम्न कोड दर्ज करें ।
textField.borderStyle = UITextBorderStyleRoundedRect;
स्विफ्ट 3:
textField.borderStyle = UITextBorderStyle.roundedRect
अपने दृश्य में गोल के रूप में कोने को सेट करें
yourUITextField.borderStyle = UITextBorderStyleRoundedRect;
इन दो सरल चरणों का पालन करें और अपनी ऊंचाई बढ़ाएं UItextField
।
चरण 1: XIB फ़ाइल पर राइट क्लिक करें और इसे "सोर्स कोड" के रूप में खोलें।
चरण 2: एक ही UITextfield
स्रोत का पता लगाएं और जैसा चाहें फ्रेम सेट करें।
आप किसी भी सेब नियंत्रण के फ्रेम को बदलने के लिए इन चरणों का उपयोग कर सकते हैं।
IOS 6 के लिए एक अपडेट: ऑटो-लेआउट का उपयोग करते हुए, भले ही आप इंटरफ़ेस बिल्डर में साइज इंस्पेक्टर से UITextField की ऊंचाई निर्धारित नहीं कर सकते हैं (जैसा कि Xcode 4.5 DP4 कम से कम), अब हाईट क्रैटिन सेट करना संभव है इसे, जिसे आप इंटरफ़ेस बिल्डर से संपादित कर सकते हैं।
इसके अलावा, यदि आप कोड द्वारा फ्रेम की ऊंचाई निर्धारित कर रहे हैं, तो ऑटो-लेआउट इसे आपके द्वारा किए गए अन्य अवरोधों के आधार पर रीसेट कर सकता है।
मैं यह एक पुराना प्रश्न जानता हूं, लेकिन मैं सिर्फ यह जोड़ना चाहता हूं कि क्या आप आसानी से IB के अंदर से UITextField की ऊंचाई बदलना चाहते हैं, तो बस उस UITextfield की सीमा प्रकार को डिफ़ॉल्ट गोल कोने प्रकार के अलावा और कुछ भी बदल सकते हैं। फिर आप संपादक के अंदर से आसानी से ऊंचाई विशेषताओं को बढ़ा या बदल सकते हैं।
@IBDesignable
class BigTextField: UITextField {
override func didMoveToWindow() {
super.didMoveToWindow()
if window != nil {
borderStyle = .roundedRect
}
}
}
UITextField
के साथ BigTextField
।Border Style
के लिए none
।इस गूंगी समस्या के लिए मेरा दयनीय योगदान। IB में शैली को किसी से भी सेट न करें ताकि आप ऊँचाई सेट कर सकें, फिर IB में वर्ग को उप-वर्ग के रूप में सेट करने के UITextField
लिए शैली को गोल आयताकार बनाने के लिए बाध्य करता है।
@interface JLTForcedRoundedRectTextField : UITextField
@end
@implementation JLTForcedRoundedRectTextField
- (void)awakeFromNib
{
self.borderStyle = UITextBorderStyleRoundedRect;
}
@end
इसने मुझे मेरे दृश्य नियंत्रक में XIB फ़ाइल या लेखन शैली कोड को हैक करने से रोक दिया।
एक UITextField की ऊंचाई केवल Attributes Inspector में समायोज्य नहीं है, जब इसमें डिफ़ॉल्ट गोल कोनों बॉर्डर स्टाइल है, लेकिन एक ऊँचाई की बाधा (प्लस किसी भी अन्य बाधाओं को जोड़कर जो ऑटोलॉयट सिस्टम को संतुष्ट करने के लिए आवश्यक हैं - अक्सर इसे केवल Missing Constraints का उपयोग करके) और बाधा को समायोजित करने से टेक्स्टफील्ड की ऊंचाई समायोजित हो जाएगी। यदि आप बाधाओं को नहीं चाहते हैं, तो बाधाओं को हटाया जा सकता है (बाधाएं हटाएं) और टेक्स्टफील्ड समायोजित ऊंचाई पर रहेगा।
एक जादू की तरह काम करता है।
UITextField *txt = [[UITextField alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
[txt setText:@"Ananth"];
[self.view addSubview:txt];
अंतिम दो तर्क चौड़ाई और ऊंचाई हैं, आप अपनी इच्छानुसार सेट कर सकते हैं ...
आप टेक्स्ट फ़ील्ड की फ़्रेम प्रॉपर्टी का उपयोग फ़्रेम बदलने के लिए कर सकते हैं। Textfield.frame = CGRECTMake (x अक्ष, y अक्ष, चौड़ाई, ऊँचाई)
यह काफी सरल है।
yourtextfield.frame = CGRectMake (yourXAxis, yourYAxis, yourWidth, yourHeight);
अपने टेक्स्टफ़ील्ड को एक ग्लोबल प्रॉपर्टी के रूप में घोषित करें और जहाँ भी आप इसे अपने कोड में करना चाहते हैं, उसका फ्रेम बदलें।
हैप्पी कोडिंग!
यदि आप बहुत कुछ बना रहे हैं, तो UITextFields
यह उप-वर्ग UITextView
एस को ओवरक्लियर कर सकता है और सेटफ्रेम विधि को ओवरराइड कर सकता है
-(void)setFrame:(CGRect)frame{
[self setBorderStyle:UITextBorderStyleRoundedRect];
[super setFrame:frame];
[self setBorderStyle:UITextBorderStyleNone];
}
इस तरह से आप सिर्फ कॉल कर सकते हैं
[customTextField setFrame:<rect>];