2015-03-19 80 views
0

我正在創建一個推文到twitter應用程序,並希望從可以選擇的按鈕向UITextField添加各種文本。 UIButton用於各種主題標籤來加速撰寫推文的過程。我嘗試了一些在Stack上找到的解決方案,但似乎沒有任何工作,它們都在Objective-C中。有一個按鈕將文本快速添加到UITextField中

觸摸按鈕之前撰寫推文視圖的屏幕截圖。

http://postimg.org/image/5qoyk6673/

截圖撰寫鳴叫視圖的後選擇的按鈕和文本添加到文本字段中。

http://postimg.org/image/vp08wsa6b/fa7c7a83/

class TweetComposeViewControler: UIViewController, UITextViewDelegate { 
var selectedAccount : ACAccount! 

@IBOutlet var tweetContent: UITextView! 

@IBAction func specializedButton(sender: UIButton) { 
    tweetContent.text = sender as UIButton 
    tweetContent.text.stringByAppendingString(specializedButton(titleLabel.text)) 

} 

func insertHashtag(sender: UIButton!) { 
    tweetContent.text = tweetContent.text.stringByAppendingString(sender.titleLabel.text) 
} 
+0

我建議發佈您的當前代碼。 – 2015-03-19 02:43:38

+0

'class TweetComposeViewControler:UIViewController,UITextViewDelegate {0} {0} {0} var selectedAccount:ACAccount! @IBOutlet var tweetContent:UITextView! @IBAction FUNC specializedButton(發件人:AnyObject){ tweetContent.text = specializedButton.titleLabel.text } 倍率FUNC viewDidLoad中(){ super.viewDidLoad() self.tweetContent.delegate =自 } 覆蓋func didReceiveMemoryWarning(){ super.didReceiveMemoryWarning() }' – 2015-03-31 17:44:31

回答

1

您可以將UITextFields文本設置爲您的UIButton的標題:

txtField.text = hashTagButton.titleLabel.text 

如果你想文本追加:

txtField.text = textField.text.stringByAppendingString(hashTagButton.titleLabel.text) 

爲了讓你的按鈕在按下時更新文本,你需要爲w添加一個目標選擇器按下按鈕。這可以通過情節串聯板或以編程方式完成。

編程

你會同樣選擇添加到使用這個所有按鈕:

hashtagButton.addTarget(self, action: Selector("insertHashtag:"), forControlEvents: .TouchUpInside) 

這將調用insertHashtag功能,只要按下hashtagButton。由於選擇器末尾的:,它也將自己作爲參數傳遞,因此您可以使用它來獲取按鈕的標題,而不是爲每個按鈕創建不同的選擇器。

func insertHashtag(sender: UIButton!) { 
    txtField.text = textField.text.stringByAppendingString(sender.titleLabel!.text) 
} 

使用IBAction爲

@IBAction func insertHashtag(sender: AnyObject) { 
    txtField.text = sender as UIButton 
    textField.text.stringByAppendingString(btn.titleLabel!.text) 
} 

在這裏,你投發件人放慢參數作爲一個UIButton,因爲你知道一個UIButton是調用它的對象的類型。

如果你知道只有的UIButton的會導致這個方法,你可以這樣做:

@IBAction func insertHashtag(btn: UIButton) { 
    txtField.text = sender as UIButton 
    textField.text.stringByAppendingString(btn.titleLabel!.text) 
} 

響應您的更新 您添加需要被固定,看起來像這樣的代碼:

@IBAction func specializedButton(sender: UIButton) { 
    tweetContent.text.stringByAppendingString(sender.titleLabel!.text) 
} 

這裏sender是你的UIButton,你將它作爲UIButton傳遞,所以你不需要轉換它。

+0

評論是不適用於擴展討論;這個對話已經[轉移到聊天](http://chat.stackoverflow.com/rooms/74267/discussion-on-answer-by-chrissukhram-having-a-button-add-text-to-a-uitextfield-一世)。 – Taryn 2015-04-01 14:46:07

相關問題