উত্তর:
ওহে নম্রথা, আপনি যদি কোনও UIButton এর পাঠ্য পরিবর্তন এবং সক্ষম / অক্ষম অবস্থার বিষয়ে জিজ্ঞাসা করছেন, তবে এটি নীচের মতো খুব সহজেই করা যেতে পারে;
[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
আপনার শিরোনাম সেট করতে ব্যবহার করুন ।
রাজ্যগুলির কয়েকটি রয়েছে যা ইউআইবিটনগুলি সরবরাহ করে, আপনি একবার দেখতে পারেন:
[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
ডকুমেন্টেশন: isable , 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")