objective c - تغيير نص UIButton




objective-c ios (4)

برمجيا يمكنك تعيين عنوان زر مثل أدناه:

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

يمكنك أيضًا تعيين خاصية عنوان الزر من لوحة العمل.

لذلك أحاول تحديث النص على UIButton عندما أنقر عليه. أنا أستخدم السطر التالي لتغيير النص:

calibrationButton.titleLabel.text = @"Calibration";

لقد تحققت من أن النص يتغير ، ولكن عندما أقوم بتشغيل التطبيق ثم انقر فوق الزر ، يتغير إلى "معايرة" لجزء من الثانية ثم يعود إلى قيمته الافتراضية. أي أفكار لماذا هذا يمكن أن يحدث؟ هل هناك نوع من وظيفة التحديث التي أحتاج إلى الاتصال بها؟


عند إعداد عروضه التقديمية ، سيحدد UIButton قيمة نص العنوان Label الخاص به باستخدام قيم العنوان الخاصة به ، بحيث يمكنك إعداد أربعة سلاسل مختلفة للحالات الأربع (عادي ، مميز ، محدد ، معطل).

نظرًا لهذه الميزة ، لن يتم وضع النص titleLabel مباشرةً ، وستتم إعادة تعيينه عن طريق الزر عندما يعرض تفاصيله الفرعية.

هذا ما عليك فعله لتغيير نص العنوان لحالة الزر.

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

ل Swift 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)





uibutton