ইউআইবাটন পাঠ্য পরিবর্তন করা হচ্ছে


102

সুতরাং আমি যখন এটি ক্লিক করি তখন একটি UIButton এ লেখাটি আপডেট করার চেষ্টা করি। আমি পাঠ্যটি পরিবর্তন করতে নিম্নলিখিত লাইনটি ব্যবহার করছি:

calibrationButton.titleLabel.text = @"Calibration";

আমি যাচাই করেছি যে পাঠ্যটি পরিবর্তন হচ্ছে, তবে আমি যখন অ্যাপটি চালাচ্ছি এবং আমি বোতামটিতে ক্লিক করি তখন এটি দ্বিতীয় বিভক্তির জন্য "ক্যালিব্রেশন" এ পরিবর্তিত হয় এবং তারপরে তার ডিফল্ট মানটিতে ফিরে যায়। কোনও ধারণা কেন এমন হচ্ছে? আমার কল করার দরকার আছে এমন কোনও ধরণের রিফ্রেশ ফাংশন?


উত্তর:


248

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

এই বৈশিষ্ট্যটির কারণে, শিরোনাম লেবেলের পাঠ্যটি সরাসরি সেট করা স্থির থাকবে না এবং বাটনটি এর সংক্ষিপ্তসারগুলি প্রকাশ করলে পুনরায় সেট হবে।

একটি বোতামের অবস্থার জন্য শিরোনাম পাঠ্য পরিবর্তন করতে আপনাকে যা করতে হবে তা এটি।

[calibrationButton setTitle:@"Calibration" forState:UIControlStateNormal];

4
তাহলে কি বাটন.টিটেললবেল.টেক্সট = @ "কিছু পাঠ্য" তখন অনুমিত হবে?
বরিস গফুরভ

4
@ বরিসগাফুরভ আপনি যদি টাইপ করেন তবে button.titleLabelদেখতে পাবেন যে শিরোনাম লেবেল হ'ল কেবল পঠনযোগ্য সম্পত্তি, এবং কেবলমাত্র পঠনযোগ্য কেবলমাত্র কোনও সম্পত্তিই কেবল পঠনযোগ্য। এগুলি সম্পাদনা করার জন্য ডট-নোটেশন ব্যবহার করা কার্যকর হবে না এবং তাই এগুলি সম্পাদনা করার জন্য আপনার স্পষ্ট পদ্ধতি প্রয়োজন। এটি আমার পক্ষে অন্তত বোধগম্য হয়।
এরদেখায়সার

1
আমি মনে করি আমি এটি উপলব্ধি না করা পর্যন্ত প্রায় দুই ঘন্টা নষ্ট করেছি (যা দুঃখজনকভাবে আমি মনে করি আমি ইতিমধ্যে জানতাম!)
রেস_সিয়ার

আপনার উত্তরের জন্য ধন্যবাদ.
দিনেশজানি

3
@erdekhayser বাস্তবিক, শুধুমাত্র পাঠযোগ্য বৈশিষ্ট্য পারি / পড়া আছে লেখার বৈশিষ্ট্য। আমি কোনও ক্রিয়া পদ্ধতিতে পূর্ণসংখ্যা পাস করতে শিরোনামের লেবেলের ট্যাগটি ব্যবহার করি। এছাড়াও অ্যাপলের ডক্স দেখতে লিংক Although this property is read-only, its own properties are read/write. Use these properties primarily to configure the text of the button. For example:
হারুন

35

বোতামের পাঠ্য নির্ধারণ করতে নিম্নলিখিত পদ্ধতিটি ব্যবহার করুন:

[calibrationButton setTitle: @"Calibration" forState: UIControlStateNormal];

দেখুন UIButtonআরো বিস্তারিত জানার জন্য বর্গ রেফারেন্স ... http://developer.apple.com/library/ios/#documentation/uikit/reference/UIButton_Class/UIButton/UIButton.html

বা সুইফ্ট 3 এ:

calibrationButton.setTitle("Calibration", for: .normal)

6

প্রোগ্রামক্রমে আপনি নীচের মত বোতাম শিরোনাম সেট করতে পারেন:

[myButton setTitle:@"buttonTitle" forState:UIControlStateNormal];

আপনি স্টোরিবোর্ড থেকে বোতাম শিরোনাম সম্পত্তি সেট করতে পারেন।


2

একটি বিশাল চুক্তি নয় এবং সম্ভবত সুস্পষ্ট, তবে বোতামগুলির জন্য বেশ কয়েকটি রাজ্য উপলব্ধ। আপনি যদি 'ভুল' সরবরাহ করেন তবে আপনি পছন্দ মতো পাঠ্য পরিবর্তনটি দেখতে পাবেন না।

আমি লক্ষ্য করেছি যে আমার বোতামটি এখানে প্রদর্শিত পদ্ধতিগুলি ব্যবহার করে আমি যুক্ত করা পাঠ্যটি প্রদর্শন করছে না। আপনি যে ইউআইসিএন্ট্রোলস্টেটটি চান তা সরবরাহ করছেন তা নিশ্চিত করতে এই লিঙ্কটি দেখুন।

ইউআইসিএন্ট্রোলস্টেট হাইলাইটলাইট এবং ইউআইসি কন্ট্রোলস্টেটের মধ্যে পার্থক্য কী?


1

সুইফট 3.0 এর জন্য

let button = UIButton(type: .system)
button.frame = CGRect(x: 100, y: 100, width: 100, height: 100)
button.setTitle("set here", for: .normal)
button.addTarget(self, action: #selector(TableViewController.actionButtonTocuh), for: .touchUpInside)
button.titleLabel?.textColor  = #colorLiteral(red: 0.1019607857, green: 0.2784313858, blue: 0.400000006, alpha: 1)
view.addSubview(button)

1

সুইফট ২.০ এর জন্য:

let btnObject : UIButton  = UIButton() 
btnObject.frame = CGRect(x: 8, y: 89, width: 70, height: 22)
btnObject.setTitle("Button Title", forState: UIControlState.Normal)
btnObject.titleLabel?.font = UIFont(name: "Helvetica Neue", size: 13)
btnObject.titleLabel?.textColor = UIColor.whiteColor()
btnObject.backgroundColor = UIColor(red: 189/255, green: 176/255, blue: 0/255, alpha: 1)
btnObject.titleLabel?.textAlignment = NSTextAlignment.Center
btnObject.addTarget(self, action: "btnbtnObjectClick:", forControlEvents: UIControlEvents.TouchUpInside)
subView.addSubview(btnObject)

1

আপনি যদি সমস্ত রাজ্যের জন্য শিরোনাম সেট করতে না চান, কেবলমাত্র এটি স্বাভাবিক রাষ্ট্রের জন্য সেট করুন কারণ আনসেট রাষ্ট্রগুলির শিরোনামটি স্বাভাবিক রাষ্ট্রের শিরোনামে ডিফল্ট হয়ে যায়।

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