我有一系列内容如下:
array = [Name1,Name2,Name3 ...]
我希望在按钮的标签上显示这些内容。问题是,如果我的数组有很多项目,我不想创建这么多按钮,这将是硬核。所以,任何人都可以帮助我找到为这些数据生成一个公共按钮实例的方法。就像我的数组有2个项目一样,视图会显示2个按钮等等......非常感谢你!
P / s:@Janmenjaya回答问题解决了,这是我的代码,仍然有点卡在y位置。
func displayFileList() {
for i in 0..<fileIdList.count {
let yRef : CGFloat = 35
let title = String(fileIdList.indexOf(i))
let button = UIButton(frame: CGRect(x: 0, y: yRef * CGFloat(i), width: 919, height: 30))
button.setTitle(title, forState: UIControlState.Normal)
button.setTitleColor(UIColor.blackColor(), forState: UIControlState.Normal)
button.backgroundColor = UIColor.yellowColor()
button.layer.borderWidth = 1;
button.layer.borderColor = UIColor.blackColor().CGColor
self.fileButtonContainView.addSubview(button)
}
}
答案 0 :(得分:1)
您可以循环遍历数组并使用基于数组内容的动态标题以编程方式创建按钮。
按照示例代码
示例代码段:
arrData = NSMutableArray();
arrData.addObject("Test0");
arrData.addObject("Test1");
arrData.addObject("Test2");
arrData.addObject("Test3");
arrData.addObject("Test4");
var yRef : CGFloat = 100
for i in 0..<arrData.count{
let title = arrData.objectAtIndex(i);
let btn = UIButton(type: .Custom);
btn.frame = CGRectMake(100, yRef, 100, 40);
btn.setTitle(title as? String, forState: UIControlState.Normal)
btn.backgroundColor = UIColor.grayColor();
self.view.addSubview(btn);
yRef += CGRectGetHeight(btn.frame) + 10;
}
希望有所帮助
快乐的编码......