2015-07-13 74 views
1

我想用簡單的標題創建自定義複選框。複選框有構造函數,但是當我調用它時,標題不會出現。我應該如何正確調用構造函數?構造函數不能在swift中工作

自定義複選框:https://github.com/Marxon13/M13Checkbox

import UIKit 



class TodoTableViewCell: UITableViewCell { 
override func awakeFromNib() { 
    super.awakeFromNib() 
    // Initialization code 
    //checkbox.titleLabel.text = "asd" 
    self.checkbox = M13Checkbox(title: "zcxc") 

} 

@IBOutlet weak var checkbox: M13Checkbox! 



override func setSelected(selected: Bool, animated: Bool) { 
    super.setSelected(selected, animated: animated) 

    // Configure the view for the selected state 
} 

} 
+1

所以你可以看到複選框,但只有標題丟失? – streem

+0

是的,只有標題不出現 –

+0

您是否嘗試過設置複選框的框架或大小? – Arvind

回答

0

我相信問題是,你讓你的實際複選框設置與initWithCoder:方法通過Interface Builder中添加的M13Checkbox。

我認爲這樣做最簡單的方法是清除複選框,在Interface Builder並將其添加到細胞編程:我不使用M13Checkbox自己

override func awakeFromNib() { 
    super.awakeFromNib() 
    // Initialization code 
    //checkbox.titleLabel.text = "asd" 
    let checkbox:M13Checkbox = M13Checkbox(title: "zcxc") 
    checkbox.frame = self.frame 
    self.addSubview(checkbox) 
} 
+0

我認爲如果複選框已經可見,則不需要addSubview。此外,在這裏寫的additionalview語句是obj-c。 – Arvind

+1

@Arvind Yep忘記了obj-c代碼。不過,我將它添加到視圖中,因爲我告訴他在界面構建器中將其刪除。 – streem

+0

好的,我錯過了。大。 – Arvind

0

,但不能預期使用模式。當你從xib載入你的UI時,複選框應該已經被實例化。你在這裏做的是你替換它。

相反,在界面構建器中爲元素設置正確的類,並根據需要僅配置其屬性。另外,請記住,您的代碼根本不會將任何複選框添加到視圖層次結構中,也不會獲得任何佈局約束。