[ios] Xcode 6.1 / Swift를 사용하여 프로그래밍 방식으로 이미지를 UIImageView로 설정

Xcode 6.1에서 프로그래밍 방식으로 UIImageView를 설정하려고합니다.

@IBOutlet weak var bgImage: UIImageView!

var image : UIImage = UIImage(named:"afternoon")!
bgImage = UIImageView(image: image)
bgImage.frame = CGRect(x: 0, y: 0, width: 100, height: 200)
view.addSubview(bgImage)

그러나 Xcode는 bgImage = UIImageView(image: image) Image 와 함께 “예상 선언” "afternoon"이 PNG 라고 말하고 있으며 내 이해는 PNG가 XCode 6.1에서 확장이 필요하지 않다는 것입니다.

또한 시도 bgImage.image = UIImage(named: "afternoon")했지만 여전히 다음을 얻습니다.

여기에 이미지 설명 입력

최신 정보

좋아, 업데이트 UIImageView할 코드를 viewDidLoad함수에 넣었 지만 UIImageView여전히 이미지가 표시되지 않습니다 (기본 디렉토리에 오후 .png로 존재 함).

@IBOutlet weak var bgImage: UIImageView!
@IBOutlet weak var dateLabel: UILabel!
@IBOutlet weak var timeLabel: UILabel!

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    updateTime()
    var timer = NSTimer()
    let aSelector : Selector = "updateTime"
    timer = NSTimer.scheduledTimerWithTimeInterval(0.01, target: self, selector: aSelector, userInfo: nil, repeats: true)

    var image : UIImage = UIImage(named:"afternoon")!
    bgImage = UIImageView(image: image)
}



답변

bgImage가 IBOutlet으로 할당되고 링크되었으므로 UIImageView로 초기화 할 필요가 없습니다 … 대신 bgImage.image = UIImage(named: "afternoon"). 이 코드를 실행 한 후 이미 콘센트를 사용하여 할당되었으므로 이미지가 정상적으로 표시되었습니다.

여기에 이미지 설명 입력

그러나 콘센트가 아니고 스토리 보드 / xib 파일의 UIImageView 개체에 이미 연결되어 있지 않은 경우 다음과 같이 할 수 있습니다.

class ViewController: UIViewController {
    var bgImage: UIImageView?

    override func viewDidLoad() {
        super.viewDidLoad()

        var image: UIImage = UIImage(named: "afternoon")!
        bgImage = UIImageView(image: image)
        bgImage!.frame = CGRectMake(0,0,100,200)
        self.view.addSubview(bgImage!)
    }
}


답변

xcode 8에서는 선택 창에서 이미지를 직접 선택할 수 있습니다 (NEW) …

  • “이미지”를 입력하면 제안 상자가 표시되고 목록에서 “이미지 리터럴”을 선택합니다 (첨부 된 그림 참조).

  • 그런 다음 사각형을 탭하면
    이미지 자산에있는 모든 이미지 ( 첨부 된 두 번째 그림 참조)를 볼 수 있습니다 … 또는 거기에서 다른 이미지를 선택합니다.

여기에 이미지 설명 입력

  • 이제 사각형 상자를 탭하십시오-(위 옵션을 선택하면 사각형 상자가 표시됩니다)

여기에 이미지 설명 입력


답변

좋아, 이것으로 작동하도록해라 (프로그래밍 방식으로 UIImageView 생성) :

var imageViewObject :UIImageView

imageViewObject = UIImageView(frame:CGRectMake(0, 0, 600, 600))

imageViewObject.image = UIImage(named:"afternoon")

self.view.addSubview(imageViewObject)

self.view.sendSubviewToBack(imageViewObject)


답변

이것은 어떤가요;

myImageView.image=UIImage(named: "image_1")

여기서 image_1은 image_1로 자산 폴더 내에 있습니다. png .

스위치 케이스를 사용하여 이미지 슬라이드를 표시하기 때문에 이것은 나를 위해 일했습니다.


답변

이 코드는 잘못된 위치에 있습니다.

var image : UIImage = UIImage(named:"afternoon")!
bgImage = UIImageView(image: image)
bgImage.frame = CGRect(x: 0, y: 0, width: 100, height: 200)
view.addSubview(bgImage)

함수 안에 넣어야합니다. viewDidLoad함수 내부로 이동하는 것이 좋습니다 .

일반적으로 함수 내부가 아닌 클래스 내에 추가 할 수있는 유일한 코드는 다음과 같은 변수 선언입니다.

@IBOutlet weak var bgImage: UIImageView!


답변

빠른 구문으로 이것은 나를 위해 일했습니다.

    let leftImageView = UIImageView()
    leftImageView.image = UIImage(named: "email")

    let leftView = UIView()
    leftView.addSubview(leftImageView)

    leftView.frame = CGRect(x: 0, y: 0, width: 40, height: 40)
    leftImageView.frame = CGRect(x: 10, y: 10, width: 20, height: 20)
    userNameTextField.leftViewMode = .always
    userNameTextField.leftView = leftView


답변

Swift 4에서 이미지가 nil로 반환되는 경우.

오른쪽 (유틸리티) 이미지 클릭-> 대상 멤버십 확인