Вопрос:

Как вставить изображение в UIView?

ios swift image uiview

6351 просмотра

3 ответа

81 Репутация автора

Код ниже печатает строку в UIView. Я просто хочу знать код, который я бы написал, чтобы можно было вставить изображение поверх представления.

import UIKit

class draw: UIView {
    var line = UIBezierPath()
    var line1 = UIBezierPath()

    func grapher() {
        line1.move(to: .init(x:0, y: bounds.height / 6))
        line1.addLine(to: .init(x: bounds.width, y: bounds.height / 6))
        UIColor.blue.setStroke()
        line1.lineWidth = 2
        line1.stroke()
    }

    override func draw(_ rect: CGRect) {
        grapher()
    }
}
Автор: Sam Burns Источник Размещён: 10.01.2018 05:07

Ответы (3)


1 плюс

8923 Репутация автора

Решение

Если вы хотите добавить изображение на вид. Пожалуйста, используйте код ниже.

    let imageName = "yourImage.png"
    let image = UIImage(named: imageName)
    let imageView = UIImageView(image: image!)
    imageView.frame = CGRect(x: 0, y: 0, width: 100, height: 200)
    self.view.addSubview(imageView)
    //Imageview on Top of View
    self.view.bringSubview(toFront: imageView)

Если вы хотите нарисовать конкретную фигуру, тогда используйте Core Graphics

https://developer.apple.com/documentation/coregraphics

https://cocoacasts.com/drawing-shapes-in-swift-with-paintcode/

https://www.ioscreator.com/tutorials/drawing-shapes-core-graphics-tutorial-ios10

Автор: Renish Dadhaniya Размещён: 10.01.2018 05:22

10 плюса

5946 Репутация автора

Добавить UIImageна слой представления

let myLayer = CALayer()
let myImage = UIImage(named: "star")?.cgImage
myLayer.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
myLayer.contents = myImage
myView.layer.addSublayer(myLayer)

Добавить UIImageкак подпункт

let image = UIImage(named: "star")
let imageView = UIImageView(image: image!)
imageView.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
myView.addSubview(imageView)
Автор: dahiya_boy Размещён: 10.01.2018 05:30

0 плюса

3899 Репутация автора

Проверено на Swift 4

// This function should be called in/after viewDidAppear to let view render
    func addArrowImageToButton(button: UIButton, arrowImage:UIImage = #imageLiteral(resourceName: "my_arrow_image") ) {
        let btnSize:CGFloat = 32
        let imageView = UIImageView(image: arrowImage)
        let btnFrame = button.frame
        imageView.frame = CGRect(x: btnFrame.width-btnSize-8, y: btnFrame.height/2 - btnSize/2, width: btnSize, height: btnSize)
        button.addSubview(imageView)
        //Imageview on Top of View
        button.bringSubviewToFront(imageView)
    }

и назовите это так в viewDidAppear

self.addArrowImageToButton(button: myButtonObject)
Автор: jeet.chanchawat Размещён: 08.05.2019 05:33
Вопросы из категории :
32x32