2015-02-08 3 views
0

В swift У меня есть функция, где я хочу отображать изображение в контексте изображения, когда пользователь коснется экрана. Код компилируется правильно, но изображение не отображается. Я уверен, что ошибка заключается в этой функции, потому что я не уверен, что полностью понимаю, как отображать изображение. Я собираюсь создать изображение в правильном направлении?CGImage Display

func generateImage() -> UIImage { 

    let centerX = CGRectGetWidth(self.frame)/2 
    let centerY = CGRectGetHeight(self.frame)/2 
    var startPoint = CGPoint(x: centerX, y: centerY) 
    var endPoint = CGPoint(x: centerX, y: centerY) 
    let imageRect = CGRect(x: centerX, y: centerY, width: 150, height: 150) 
    let insideImage = UIImage(named: "at") 
    let insideCGImage = insideImage?.CGImage 

    // Generate the image 
    // Begin an image context 
    UIGraphicsBeginImageContext(self.frame.size) 
    let imageContext = UIGraphicsGetCurrentContext() 
    // Use CG to draw the image into the image context 
    CGContextDrawImage(imageContext, imageRect, insideCGImage) 
    let image = UIGraphicsGetImageFromCurrentImageContext() 
    UIGraphicsEndImageContext() 

    return image 
} 
+0

ли вы добавить изображение на вид? – Christian

+0

В контроллере представления у меня есть UIView, который ссылается на класс, называемый ImageDrag. – Beatle

+0

'@IBOutlet слабый var mainImage: ImageDrag!' – Beatle

ответ

0

Вы должны использовать возвращаемое значение вашей функции:

mainImage = generateImage() 

В противном случае значение не используется в любом месте и остается неиспользованным.

Если ваш метод в другом классе вы должны создать экземпляр и вызвать метод:

var classInstance = YourClassWithTheFunction() 

Затем вы можете вызвать метод так:

mainImage = classInstance.generateImage() 
+0

Я не уверен, что я последую за ним. Выходная переменная, которая является mainImage, из моего контроллера не может получить доступ к функции generateImage в другом классе, который является ImageDrag. Когда я пытаюсь, я получаю множество ошибок. – Beatle

+0

Вам нужно создать экземпляр и вызвать метод: var classInstance = YourClassWithTheFunction() Затем вы можете вызвать метод следующим образом: classInstance.generateImage() – Christian

+0

Ошибка, которую я получаю, находится в третьей строке этого кода: '@IBOutlet weak var mainImage: ImageDrag! var classInstance = ImageDrag (frame: CGRect()) var mainImage = classInstance.ImageDrag() 'XCode вызывает ошибку, говоря, что« ViewController.Type »не имеет члена с именем« classInstance » – Beatle

 Смежные вопросы

  • Нет связанных вопросов^_^