Получить UIImage Height в UiImageView [дубликат]

Строка ошибки «Ссылка на объект, не установленная на экземпляр объекта.» указывает, что вы не назначили экземпляр объекта объектной ссылке, и все же вы получаете доступ к свойствам / методам этого объекта.

например: скажем, у вас есть класс под названием myClass и он содержит одно свойство prop1.

public Class myClass
{
   public int prop1 {get;set;}
}

Теперь вы получаете доступ к этому prop1 в каком-то другом классе, как показано ниже:

public class Demo
{
     public void testMethod()
     {
        myClass ref = null;
        ref.prop1 = 1;  //This line throws error
     }
}

выше строки выдает ошибку, потому что ссылка класса myClass объявлена, но не создана, или экземпляр объекта не назначается referecne этого класса.

Чтобы исправить это, вам нужно создать экземпляр (присвоить объект ссылке на этот класс).

public class Demo
{
     public void testMethod()
     {
        myClass ref = null;
        ref = new myClass();
        ref.prop1 = 1;  
     }
}
61
задан Nithin 8 June 2011 в 13:45
поделиться

19 ответов

30
ответ дан Rayfleck 23 August 2018 в 21:08
поделиться
2
ответ дан Aleksey 23 August 2018 в 21:08
поделиться
2
ответ дан blkhp19 23 August 2018 в 21:08
поделиться
2
ответ дан Darshit Shah 23 August 2018 в 21:08
поделиться
0
ответ дан Dovydas Sopa 23 August 2018 в 21:08
поделиться
7
ответ дан Emilio 23 August 2018 в 21:08
поделиться
7
ответ дан Hardik Thakkar 23 August 2018 в 21:08
поделиться

Swift 4: Кадр для изображения .aspectFit -

import AVFoundation

let x: CGRect = AVMakeRect(aspectRatio: myImage.size, insideRect: sampleImageView.frame)

1
ответ дан Jack 23 August 2018 в 21:08
поделиться
  • 1
    его возвращение неправильного размера – Kishore Kumar 28 June 2018 в 08:23
  • 2
  • 3
    – Kishore Kumar 28 June 2018 в 08:30
  • 4
    Это неожиданно, вы пробовали с помощью контроллера свежего изображения с одним изображением без ограничений? – Jack 28 June 2018 в 08:47
  • 5
    Я пробовал на uiview xib, в этом представлении изображения там, значение начала x будет у y, а значение orgin y будет равно x. и я использую ограничения. – Kishore Kumar 28 June 2018 в 09:12
1
ответ дан JollyJinx 23 August 2018 в 21:08
поделиться
0
ответ дан Md Rais 23 August 2018 в 21:08
поделиться
14
ответ дан Oleh Kudinov 23 August 2018 в 21:08
поделиться
1
ответ дан paul king 23 August 2018 в 21:08
поделиться
118
ответ дан plgrenier 23 August 2018 в 21:08
поделиться
50
ответ дан rowwingman 23 August 2018 в 21:08
поделиться
0
ответ дан Russian 23 August 2018 в 21:08
поделиться

Свифт 3 Человекочитаемая версия

extension UIImageView {

    /// Find the size of the image, once the parent imageView has been given a contentMode of .scaleAspectFit
    /// Querying the image.size returns the non-scaled size. This helper property is needed for accurate results.
    var aspectFitSize: CGSize {
        guard let image = image else { return CGSize.zero }

        var aspectFitSize = CGSize(width: frame.size.width, height: frame.size.height)
        let newWidth: CGFloat = frame.size.width / image.size.width
        let newHeight: CGFloat = frame.size.height / image.size.height

        if newHeight < newWidth {
            aspectFitSize.width = newHeight * image.size.width
        } else if newWidth < newHeight {
            aspectFitSize.height = newWidth * image.size.height
        }

        return aspectFitSize
    }

    /// Find the size of the image, once the parent imageView has been given a contentMode of .scaleAspectFill
    /// Querying the image.size returns the non-scaled, vastly too large size. This helper property is needed for accurate results.
    var aspectFillSize: CGSize {
        guard let image = image else { return CGSize.zero }

        var aspectFillSize = CGSize(width: frame.size.width, height: frame.size.height)
        let newWidth: CGFloat = frame.size.width / image.size.width
        let newHeight: CGFloat = frame.size.height / image.size.height

        if newHeight > newWidth {
            aspectFillSize.width = newHeight * image.size.width
        } else if newWidth > newHeight {
            aspectFillSize.height = newWidth * image.size.height
        }

        return aspectFillSize
    }

}
6
ответ дан topLayoutGuide 23 August 2018 в 21:08
поделиться
5
ответ дан v_1 23 August 2018 в 21:08
поделиться
6
ответ дан zeeawan 23 August 2018 в 21:08
поделиться
0
ответ дан fewlinesofcode 6 November 2018 в 04:06
поделиться