বোতামের পাঠ্য পরিবর্তন করুন এবং আইওএসে বোতাম অক্ষম করুন


106

আপনি কীভাবে বোতামটির পাঠ্য পরিবর্তন করবেন এবং আইওএস-এ একটি বোতাম অক্ষম করবেন?

উত্তর:


208

ওহে নম্রথা, আপনি যদি কোনও 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;

তারপরে আইবিতে বোতামটি নিয়ামকের সাথে আবদ্ধ করা সম্ভব, ইন্টারফেসটি লোড করার সময় এনআইবি লোডিং কোড সম্পত্তি মান সেট করবে।


ধন্যবাদ! আমার অ্যাপটিতে ইউআইব্লটন রয়েছে তবে আমি কোথাও কোডটিতে সেগুলি উল্লেখ করিনি। আমি লক্ষ্য-ক্রিয়া প্রক্রিয়াটি রেজিস্টার করতে ইন্টারফেস বিল্ডার ব্যবহার করেছি (তারপরে, বোতামের ক্লিকগুলি পরিচালনা করতে আমার কাছে কয়েকটি আইবিএક્શન পদ্ধতি রয়েছে) তাই আমি কীভাবে বোতামগুলি অ্যাক্সেস করব ??
নমরাথা

1
আপনি যদি @ সম্পত্তিটি আপনার জন্য ঘোষিত করতে চান তবে এটি যুক্ত করতে চান। এক্সকোড ৪-এ, সিটিআরএল কীটি ধরে রাখুন, বোতামটিতে ক্লিক করুন এবং তারপরে আপনার মাউসটিকে ভিউটির সংশ্লিষ্ট .h ফাইলটিতে টানুন। সম্পত্তির নামের জন্য আপনাকে অনুরোধ করার জন্য একটি কথোপকথন পপআপ আপ। তারপরে ভয়েলা আপনার নিজের কোডটিতে ব্যবহার করার সম্পত্তি থাকবে!
মাইলমোয়

21
[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];

আমি এই পোস্টে +1 যাচ্ছিলাম তবে সিদ্ধান্ত নেবেন না। [self.eraseButton setTitle: @ "Erase" forState: UIControlStateDis اهل]; এটি বোতামটি ম্লান করে না। এটি ইতিমধ্যে সেট করার যোগ্য: যদি নেই তেমন কিছু করে না।
coolcool1994

18

যদি কেউ, যিনি সুইফটে সমাধানের সন্ধান করছেন, এখানে অবতরণ করেন তবে তা হবে:

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

'setTitle ( : forState :)' এর নাম পরিবর্তন করে 'সেটটাইটেল ( : :) :)' করা হয়েছে
লাভি

10

ধরে নিচ্ছি যে বোতামটি একটি UIButton:

UIButton *button = …;
[button setEnabled:NO]; // disables
[button setTitle:@"Foo" forState:UIControlStateNormal]; // sets text

জন্য ডকুমেন্টেশন দেখুন UIButton


3

বোতামের শিরোনাম পরিবর্তন করতে:

[mybtn setTitle:@"My Button" forState:UIControlStateNormal];
[mybtn setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];

অক্ষম করার জন্য:

[mybtn setEnabled:NO];

3

সুইফ্ট 3-এ, আপনি কেবলমাত্র একটি বোতামের শিরোনাম দ্বারা এটি পরিবর্তন করতে পারেন:

button.setTitle("Title", for: .normal)

এবং আপনি এই দ্বারা বোতামটি অক্ষম করুন:

button.isEnabled = false

.normalUIControlState.normalটাইপটি অনুমান করা হয় বলে একই ।


এটি যদি অ্যাকশন বোতাম হয় তবে আমাদের কী ব্যবহার করা উচিত?
কার্তিকেইকন স্ক

0

আপনি যদি ট্যাপযুক্ত হওয়ার প্রতিক্রিয়া হিসাবে শিরোনামটি পরিবর্তন করতে চান তবে আপনি নিজের ভিউ কন্ট্রোলার প্রতিনিধিটির বোতামের আইবিএક્શન পদ্ধতির ভিতরে এটি চেষ্টা করতে পারেন। এটি একটি ভয়েস চ্যাট চালু এবং বন্ধ টগল করে। ভয়েস চ্যাট সেট আপ এখানে আচ্ছাদিত করা হয় না!

- (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];
}

}

ভয়েসচ্যাট অবশ্যই ভয়েস চ্যাটের জন্য নির্দিষ্ট, তবে আপনি স্যুইচ নিয়ন্ত্রণ করতে আপনার স্থানীয় স্থানীয় বুলিয়ান সম্পত্তি ব্যবহার করতে পারেন।


0

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