2014-10-29 14 views
78

यहां मैं जो करने की कोशिश कर रहा हूं वह यहां है। यदि आपने कभी हेलो या कोड खेला है, तो आप जान लेंगे कि आप एक हथियार लोड-आउट का नाम बदल सकते हैं।स्विफ्ट एक्सकोड 6 में बटन टेक्स्ट कैसे बदलें?

मैं जो कर रहा हूं वह इसे बना रहा है ताकि आप टेक्स्ट फ़ील्ड का उपयोग करके अपना लोड-आउट नाम बदल सकें। (चयन करने के लिए और कहा कि लोड बाहर बारे में जानकारी देखने) यहाँ समस्या, लोड बाहर मेनू में लोड बाहर नाम एक बटन है है और मैं सिर्फ इस लिख सकते हैं: सिवाय यह [classTopButton] है

@IBAction func renameClassButton(sender: AnyObject) { 
    classTopButton.text = "\(classTopTextField)" 
} 

एक बटन जो '.text' प्रत्यय की अनुमति नहीं है

उत्तर

205

आप कर सकते हैं:

button.setTitle("my text here", forState: .Normal) 

स्विफ्ट 3:

button.setTitle("my text here", for: .normal) 
+14

या छोटा सा कम। आप 'UIControlState' भाग को छोड़ सकते हैं और बस 'button.setTitle (" मेरा टेक्स्ट यहाँ ", स्टेटस्ट के लिए लिखें: सामान्य)'। – mustafa

+2

मुझे लगता है कि यह उल्लेख करने में मदद करता है: यदि आप स्टोरीबोर्ड का लाभ उठा रहे हैं तो 'बटन' एक 'आईबीओलेटलेट' है ('IBAction' के विपरीत जिसमें कोड की यह पंक्ति शामिल है)। – whalesharkie

15

Xcode में 8 - स्विफ्ट 3:

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

+1

दूसरा तर्क अब 'सामान्य' के बजाय 'असामान्य' है। –

+0

पूंजी 'नॉर्मल' अब एक त्रुटि देगा। अंडरकेस अब सही है। '.normal' –

0

आप उपयोग कर सकते इस तर्क

@IBAction func TickToeButtonClick(sender: AnyObject) { 

     sender.setTitle("my text here", forState: .Normal) 


} 
0

ध्यान दें कि अगर आप NSButton उपयोग कर रहे हैं वहाँ कोई setTitle समारोह है, बजाय, यह एक संपत्ति है ।

@IBOutlet weak var classToButton: NSButton! 

. . . 


classToButton.title = "Some Text" 
5

अब यह यह है तेजी से 3 के लिए,

let button = (sender as AnyObject) 
    button.setTitle("Your text", for: .normal) 

(चर की लगातार घोषणा सिर्फ आप इस तरह बटन से इस का उपयोग सुनिश्चित करें कि आवश्यक नहीं है):

(sender as AnyObject).setTitle("Your text", for: .normal) 

याद रखें कि इसका उपयोग आपके बटन के आईबीएक्शन के अंदर किया जाता है।

0

तेज 4 काम के साथ-साथ 3

libero.setTitle("---", for: .normal) 

जहां libero एक UIButton है के रूप में

0

स्विफ्ट 4 में मैं यह सब पहले से कोशिश की, लेकिन केवल चलाता है:

@IBAction func myButton(sender: AnyObject) { 
    sender.setTitle("This is example text one", for:[]) 
    sender.setTitle("This is example text two", for: .normal) 
} 
संबंधित मुद्दे