2017-02-10 67 views
0

我编程在控制器中创建UIPickerView,我需要将图像添加到UIPickerView与相应的标签。当我创建UIImageView编程,并添加到UIPickerView错误来了说,UIImage不能添加到UIPickerView如何添加的UIImage到uipickerview编程SWIFT 3

我该如何解决这个问题。在此先感谢

+0

能否请您添加的代码? – Sneha

+0

试试这个答案 - http://stackoverflow.com/a/27769541/6602495 – Sneha

+0

的[?我怎样才能出现在UI PickerView组件在斯威夫特图片](可能的复制http://stackoverflow.com/questions/27769246 /如何-可以-I-得到图像到出现 - 在-UI-pickerview组分功能于SWIFT) – Sneha

回答

2
func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView!) -> UIView { 

    var myView = UIView(frame: CGRectMake(0, 0, pickerView.bounds.width, 60)) 

    var ImageView = UIImageView(frame: CGRectMake(0, 0, pickerView.bounds.width, 50)) 

    var row = String() 
    switch row { 
    case 0: 
     row = “animal1” 
     ImageView.image = UIImage(named:"animal1.jpg") 
    case 1: 
     row = “animal2” 
     ImageView.image = UIImage(named:"animal2.jpg") 
    case 2: 
     default: 
     rowString = "Error: too many rows" 
     ImageView.image = nil 
    } 
    myView.addSubview(ImageView) 

    return myView 
} 
1

在斯威夫特3,试试下面的代码:

func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView { 
    let myView = UIView(frame: CGRect(x: 0, y: 0, width: pickerView.bounds.width - 30, height: 60)) 
    let myImageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 50, height: 50)) 
    var rowString = String() 
    switch row { 
    case 0: 
     rowString = "Washington" 
     myImageView.image = UIImage(named:"washington.jpg") 
    case 1: 
     rowString = "Beijing" 
     myImageView.image = UIImage(named:"beijing.jpg") 
    case 2: break 
    default: 
     rowString = "Error: too many rows" 
     myImageView.image = nil 
    } 
    let myLabel = UILabel(frame: CGRect(x: 60, y: 0, width: pickerView.bounds.width - 90, height: 60)) 
    myLabel.text = rowString 

    myView.addSubview(myLabel) 
    myView.addSubview(myImageView) 
    return myView 
} 
相关问题