Ios 如何在Swift/Xcode中设置按钮的图像
我在尝试以编程方式设置按钮的图像时收到一个“nil”错误。我做错了什么?这些都不是可选的Ios 如何在Swift/Xcode中设置按钮的图像,ios,xcode,swift,xcode7-beta3,Ios,Xcode,Swift,Xcode7 Beta3,我在尝试以编程方式设置按钮的图像时收到一个“nil”错误。我做错了什么?这些都不是可选的 @IBOutlet weak var scrollView: UIScrollView! var imageButton: UIButton! var index: Int = 0 var images: [UIImage] = [UIImage(named: "image1.png")!, UIImage(named: "image2.png")!, UIImage(named: "image3.pn
@IBOutlet weak var scrollView: UIScrollView!
var imageButton: UIButton!
var index: Int = 0
var images: [UIImage] = [UIImage(named: "image1.png")!, UIImage(named: "image2.png")!, UIImage(named: "image3.png")!, UIImage(named: "image4.png")!, UIImage(named: "image5.png")!, UIImage(named: "image6.png")!, UIImage(named: "image7.png")!, UIImage(named: "image8.png")!, UIImage(named: "image9.png")!, UIImage(named: "image10.png")!, UIImage(named: "image11.png")!, UIImage(named: "image12.png")!, UIImage(named: "image13.png")!, UIImage(named: "image14.png")!, UIImage(named: "image15.png")!, UIImage(named: "image16.png")!, UIImage(named: "image17.png")!, UIImage(named: "image18.png")!, UIImage(named: "image19.png")!, UIImage(named: "image20.png")!, UIImage(named: "image21.png")!, UIImage(named: "image22.png")!, UIImage(named: "image23.png")!, UIImage(named: "image24.png")!, UIImage(named: "image25.png")!, UIImage(named: "image26.png")!, UIImage(named: "image27.png")!, UIImage(named: "image28.png")!, UIImage(named: "image29.png")!, UIImage(named: "image30.png")!]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let screenSize: CGRect = UIScreen.mainScreen().bounds
let screenWidth = screenSize.width
//let screenHeight = screenSize.height
let numWidth: CGFloat = 3
let numHeight: CGFloat = 10
self.scrollView.frame.size.width = screenWidth
let width: CGFloat = (self.scrollView.frame.size.width - (numWidth + 1))/3
for var i:CGFloat = 0; i < 3; ++i{
for var j:CGFloat = 0; j < 10; ++j {
let image: UIImage = images[index] as UIImage!
imageButton.setImage(image,forState:UIControlState.Normal)
imageButton.frame = CGRectMake(width*i, width*j, width, width)
self.scrollView.addSubview(imageButton)
index++
}
}
scrollView.contentSize.height = (width)*numHeight
@IBMOutlet弱var scrollView:UIScrollView!
var imageButton:UIButton!
var指数:Int=0
var images:[UIImage]=[UIImage(名为:“image1.png”)、UIImage(名为:“image2.png”)、UIImage(名为:“image3.png”)、UIImage(名为:“image4.png”)、UIImage(名为:“image5.png”)、UIImage(名为:“image6.png”)、UIImage(名为:“image7.png”)、UIImage(名为:“image8.png”)、UIImage(名为:“image9.png”)、UIImage(名为:“image10.png”)、UIImage(名为:“image11.png”)!、UIImage(名为:“image12.png”)!、UIImage(名为:“image13.png”)!、UIImage(名为:“image15.png”)!、UIImage(名为:“image16.png”)!、UIImage(名为:“image17.png”)!、UIImage(名为:“image18.png”)、UIImage(名为:“image19.png”)!、UIImage(名为:“image20.png”)、UIImage(名为:“image21.png”)!,UIImage(名为:“image22.png”)!,UIImage(名为:“image23.png”)!,UIImage(名为:“image24.png”)!,UIImage(名为:“image25.png”)!,UIImage(名为:“image26.png”)!,UIImage(名为:“image27.png”)!,UIImage(名为:“image29.png”)!,UIImage(名为:“image30.png”)!]
重写func viewDidLoad(){
super.viewDidLoad()
//加载视图后,通常从nib执行任何其他设置。
让屏幕大小:CGRect=UIScreen.mainScreen().bounds
设screenWidth=screenSize.width
//设screenHeight=screenSize.height
设numWidth:CGFloat=3
设numHeight:CGFloat=10
self.scrollView.frame.size.width=屏幕宽度
let width:CGFloat=(self.scrollView.frame.size.width-(numWidth+1))/3
对于变量i:CGFloat=0;i<3;++i{
对于变量j:CGFloat=0;j<10;++j{
让image:UIImage=images[index]作为UIImage!
imageButton.setImage(图像,用于状态:uicontrol状态.正常)
imageButton.frame=CGRectMake(宽度*i,宽度*j,宽度,宽度)
self.scrollView.addSubview(图像按钮)
索引++
}
}
scrollView.contentSize.height=(宽度)*numHeight
我认为您又在从图像创建图像了
就这样做吧
imageButton.setImage(images[index],forState:UIControlState.Normal)
希望它能起作用
或者你可以这样做:
var images = [String]?
在viewDidLoad
images = ["image1.png","image2.png"]
let img : UIImage = UIImage(named: images[index])!
imageButton = UIButton.buttonWithType(UIButtonType.System) as UIButton
button.frame = CGRectMake(100, 100, 100, 100)//Set your own frame
imageButton.setImage(img,forState:UIControlState.Normal)
并检查图像它必须在您的项目中可用图像需要在Assets.xcsets中作为图像集…工作正常!不要在此处张贴代码图像。将代码粘贴到您的问题中。确定会解决此问题,谢谢
imageButton
是nil
,因为您从未为其赋值。嗯。我不需要将我的我最终会这样做的。