self.tableView.tableFooterView = PromptInviteView.instantiateFromNib()
我已尝试将其放入viewWillAppear和viewDidLoad。
很好,一切都显示出来并正确显示。
但是,如果:
当我拉动刷新时,一切都很好。但如果我不做任何事情......页脚停留在顶部(替换顶行+不可点击)
有谁知道为什么会出现这种情况,以及如何解决这个问题?
更新:我意识到" drawRect"当我在4-5个其他应用程序之后打开应用程序时,我的xib会被调用。这就是问题发生的原因。
在我的drawRect代码中,我有这个:
override func drawRect(rect: CGRect) {
super.drawRect(rect)
inviteLabel.textColor = UIColor(hex: 0x404040)
inviteLabel.text = STRINGS["PromptInviteLabelText"]
inviteLabel.numberOfLines = 0
inviteLabel.sizeToFit()
inviteButton.setTitle(STRINGS["PromptInviteButtonText"], forState: UIControlState.Normal)
inviteButton.backgroundColor = FlatWatermelon()
inviteButton.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Normal)
inviteButton.setTitleColor(UIColor(hex: 0xcccccc), forState: UIControlState.Selected)
inviteButton.layer.cornerRadius = 2.0
inviteButton.clipsToBounds = true
super.layoutSubviews() //this will allow the view's frame to be set.
var padding = CGFloat(20.0)
self.frame = CGRectMake(0, 0, screenWidth, CGRectGetMaxY(inviteButton.frame) + padding )
var topBorder = UIView()
topBorder.frame = CGRectMake(0, 0, screenWidth, 0.5)
topBorder.backgroundColor = UIColor(hex: 0xededed)
self.addSubview(topBorder)
var bottomBorder = UIView()
bottomBorder.frame = CGRectMake(0, self.frame.size.height, screenWidth, 0.5)
bottomBorder.backgroundColor = UIColor(hex: 0xededed)
self.addSubview(bottomBorder)
}
如何删除我的代码(尤其是layoutSubview部分)并将其放在其他地方?
我应该放置代码的另一个位置吗?是否有 didLayoutSubviews()等效?