0
A
回答
0
要做到這一點,你需要幾件事情:
- 的
IBOutlet
到NSView
自動在你的NSWindow
。我打電話給我的mainView
。 (注:我這樣做是與可可一臺Mac,因此NSWindow
上,但我想這個過程會在iOS /可可觸摸非常相似) - 兩個圖像,一個按鈕和B按鈕中的一個,叫「A」和「B」。
如果A按鈕將被複制多次,我們希望,我們將需要一個按鈕類。 A按鈕類有一個初始化程序,它通過編程將它變成一個「圖像按鈕」,例如。一個按鈕,它的臉上有一個圖像而不是文本。此外,AButton
類實現touchesBegan:
,監聽按鈕點擊的功能。當點擊被執行時,按鈕調用該功能。然後該按鈕將其自身從任何視圖中移除。
class AButton: NSButton {
override init(frame frameRect: NSRect) {
super.init(frame: frameRect)
self.bezelStyle = .regularSquare
self.setButtonType(.momentaryPushIn)
self.isBordered = false
self.image = NSImage(named: "A") // puts image on the face of the button
}
override func touchesBegan(with event: NSEvent) { // "when button is clicked..."
self.removeFromSuperview() // remove from view
}
}
接下來,我們需要在單擊B按鈕時執行的功能。使用界面生成器(IB)將「圖像按鈕」拖到主窗口上。在工具欄中,選擇此按鈕的圖像爲「B」。然後,將IBAction從B按鈕拖到AppDelegate(或控制器文件/類,無論它是什麼)。該功能將運行創造了許多A按鈕的情況下,他們正確地定位一個循環,然後用addSubview()
它們添加到NSView
。只要其中一個人被按下,它就會從視圖中移除。
@IBOutlet weak var mainView: NSView! // outlet to NSView in main window
@IBAction func bButtonPressed(_ sender: Any) {
for i in 0...3 {
let x = 50 + i*110
let y = 50
let theButton = AButton(frame: NSMakeRect(CGFloat(x), CGFloat(y), 100, 100))
mainView.addSubview(theButton) // adds newly created AButton to the view
}
}
+0
但是,我怎樣才能連接IBAction,我將創建刪除A按鈕,當他們被點擊每個A按鈕? –
0
有很多方法..
的iOS
對於 「按鈕A」,我會更喜歡UICollectionViewCell。
優勢
- UICollectionView擁有的UIScrollView並自動動態地管理它的contentSize。
- UICollectionViewCell將被重用。所以內存問題和性能問題將不存在。方式
相關問題
- 1. 創建對象動態斯威夫特
- 2. 的iOS:創建一個對象類斯威夫特
- 3. 多個展開在同一個按鈕 - 斯威夫特
- 4. 斯威夫特單選按鈕 - 複選框 - 斯威夫特3
- 5. 創建斯威夫特
- 6. 創建斯威夫特
- 7. 如何創建UIView類斯威夫特
- 8. 如何創建和斯威夫特
- 9. 禁用按鈕在斯威夫特
- 10. Xcode的路線在斯威夫特
- 11. 斯威夫特 - IOS - 創建氣球按鈕
- 12. 如何解開一個模式類對象斯威夫特3
- 13. 如何在斯威夫特
- 14. 如何在斯威夫特
- 15. 如何在斯威夫特
- 16. 如何在斯威夫特
- 17. 斯威夫特轉換斯威夫特
- 18. 斯威夫特2斯威夫特3
- 19. 斯威夫特 - JSQMessagesViewController與斯威夫特
- 20. 斯威夫特動畫 - 按鈕背後
- 21. 的Xcode 6β7的NSDictionary的斯威夫特
- 22. 在數組中添加一個按鈕 - 斯威夫特
- 23. URL的WebView斯威夫特的Xcode 7
- 24. 按鍵 - 斯威夫特
- 25. 斯威夫特performSegue去Xcode的
- 26. 斯威夫特的Xcode水平線
- 27. 在自定義的UITableViewCell攻絲多個按鈕斯威夫特
- 28. 如何從webView中的按鈕單擊呈現ViewController?斯威夫特/ Xcode中
- 29. GKComponentSystem在Xcode 8斯威夫特3
- 30. 在斯威夫特和Xcode中
噸做到這一點。你試過什麼了? –
什麼都沒有,你有什麼建議? –
一個簡單的谷歌搜索,以編程方式_create UIButton編程_和_delete UIButton編程_會做。但是,下次請在SO上發佈問題之前嘗試使用每種可能的資源。 –