我试图将文字置于UIImageView
控件内的iCarousel
之上。有一个样本可以做到这一点,我使用与func carousel(carousel: iCarousel, viewForItemAtIndex index: Int, reusingView view: UIView?) -> UIView
相同的代码,正文为
{
var itemView: UIImageView
var name: UILabel
if (view == nil)
{
itemView = UIImageView(frame:CGRectMake(0, 0, 250, 250))
itemView.image = ShareData.sharedInstance.accounts[index].getPicture()
itemView.contentMode = .ScaleAspectFit
name = UILabel(frame:itemView.bounds)
name.backgroundColor = MyVariables.backgroundColor
name.textAlignment = .Center
name.textColor = MyVariables.outlineColor
name.font = name.font.fontWithSize(50)
name.tag = 1
}
else
{
itemView = view as! UIImageView;
name = itemView.viewWithTag(1) as! UILabel!
}
name.text = ShareData.sharedInstance.accounts[index].accountName
return itemView
}
我不确定我做错了什么。显然变量是不同的,但是我的代码与示例中的代码完全相同,因为没有它我没有做我想做的事情。我已经检查过并且变量.accountName中包含了它应该具有的文本,所以我知道这没关系。任何有关我的代码可能出错的想法都将不胜感激。感谢。
答案 0 :(得分:0)
您需要在UILabel
中将subview
添加为UIImageView
if (view == nil)
{
itemView = UIImageView(frame:CGRectMake(0, 0, 250, 250))
itemView.image = ShareData.sharedInstance.accounts[index].getPicture()
itemView.contentMode = .ScaleAspectFit
name = UILabel(frame:itemView.bounds)
name.backgroundColor = MyVariables.backgroundColor
name.textAlignment = .Center
name.textColor = MyVariables.outlineColor
name.font = name.font.fontWithSize(50)
name.tag = 1
//You forgot to add this name label in itemView
itemView.addSubview(name)
}
else
{
itemView = view as! UIImageView;
name = itemView.viewWithTag(1) as! UILabel!
}
希望这会对你有所帮助。
答案 1 :(得分:0)
我认为你的标签宽度和高度为0,0。
name = UILabel(frame:itemView.bounds)
将其替换为以下行
name = UILabel(frame:CGRectMake(0, 0, 250, 250))