जवाबों:
हे नम्रता, यदि आप पाठ को बदलने के बारे में पूछ रहे हैं और एक यूआईब्यूटन की सक्षम / अक्षम स्थिति है, तो यह बहुत आसानी से निम्नानुसार किया जा सकता है;
[myButton setTitle:@"Normal State Title" forState:UIControlStateNormal]; // To set the title
[myButton setEnabled:NO]; // To toggle enabled / disabled
यदि आपने इंटरफ़ेस बिल्डर में बटन बनाए हैं और उन्हें कोड में एक्सेस करना चाहते हैं, तो आप इस तथ्य का लाभ उठा सकते हैं कि उन्हें IBAction
कॉल के तर्क के रूप में पारित किया गया है:
- (IBAction) triggerActionWithSender: (id) sender;
यह बटन के लिए बाध्य हो सकता है और sender
कार्रवाई शुरू होने पर आपको तर्क में बटन मिलेगा । यदि यह पर्याप्त नहीं है (क्योंकि आपको कार्यों की तुलना में कहीं और बटन एक्सेस करने की आवश्यकता है), बटन के लिए एक आउटलेट घोषित करें:
@property(retain) IBOutlet UIButton *someButton;
फिर नियंत्रक के लिए आईबी में बटन को बांधना संभव है, इंटरफ़ेस लोड करते समय एनआईबी लोडिंग कोड संपत्ति मूल्य निर्धारित करेगा।
[myButton setTitle: @"myTitle" forState: UIControlStateNormal];
UIControlStateNormal
अपना शीर्षक सेट करने के लिए उपयोग करें ।
कुछ ऐसे राज्य हैं जो UIbuttons प्रदान करते हैं, आप देख सकते हैं:
[myButton setTitle: @"myTitle" forState: UIControlStateApplication];
[myButton setTitle: @"myTitle" forState: UIControlStateHighlighted];
[myButton setTitle: @"myTitle" forState: UIControlStateReserved];
[myButton setTitle: @"myTitle" forState: UIControlStateSelected];
[myButton setTitle: @"myTitle" forState: UIControlStateDisabled];
यदि कोई व्यक्ति, जो स्विफ्ट में एक समाधान की तलाश में है, तो यहां उतरा, यह होगा:
myButton.isEnabled = false // disables
myButton.setTitle("myTitle", for: .normal) // sets text
प्रलेखन: IsEnabled , setTitle ।
पुराना कोड:
myButton.enabled = false // disables
myButton.setTitle("myTitle", forState: UIControlState.Normal) // sets text
बटन शीर्षक बदलने के लिए:
[mybtn setTitle:@"My Button" forState:UIControlStateNormal];
[mybtn setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
अक्षम करने के लिए:
[mybtn setEnabled:NO];
स्विफ्ट 3 में, आप बस एक बटन के शीर्षक को बदल सकते हैं:
button.setTitle("Title", for: .normal)
और आप बटन को निष्क्रिय कर दें:
button.isEnabled = false
.normal
UIControlState.normal
प्रकार वही है क्योंकि प्रकार अनुमान है।
यदि आप शीर्षक को टैप किए जाने की प्रतिक्रिया के रूप में बदलना चाहते हैं, तो आप बटन के आईबीएशन विधि के अंदर अपने व्यूअर डेलिगेट में यह कोशिश कर सकते हैं। यह वॉयस चैट को चालू और बंद कर देता है। वॉइस चैट सेट करना यहाँ कवर नहीं है!
- (IBAction)startChat:(id)sender {
UIButton *chatButton = (UIButton*)sender;
if (!voiceChat.active) {
UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"Voice Chat"
message:@"Voice Chat will become live. Please be careful with feedback if your friend is nearby."
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {}];
[alert addAction:defaultAction];
[self presentViewController:alert animated:YES completion:nil];
[voiceChat start];
voiceChat.active = YES;
[chatButton setTitle:@"Stop Chat" forState:UIControlStateNormal];
}
else {
[voiceChat stop];
UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"Voice Chat"
message:@"Voice Chat is closed"
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {}];
[alert addAction:defaultAction];
[self presentViewController:alert animated:YES completion:nil];
voiceChat.active = NO;
[chatButton setTitle:@"Chat" forState:UIControlStateNormal];
}
}
वॉइसचैट वॉयस चैट के लिए विशिष्ट है, लेकिन आप स्विच को नियंत्रित करने के लिए अपने उल्लू की स्थानीय बूलियन संपत्ति का उपयोग कर सकते हैं।
विस्तार के साथ स्विफ्ट 4
सेट:
// set button label for all states
extension UIButton {
public func setAllStatesTitle(_ newTitle: String){
self.setTitle(newTitle, for: .normal)
self.setTitle(newTitle, for: .selected)
self.setTitle(newTitle, for: .disabled)
}
}
और उपयोग करें:
yourBtn.setAllStatesTitle("btn title")