2013-06-26 6 views
2

У меня есть изображение, предопределенное на экране, я хочу нарисовать что-то поверх него, а не точно на нем, но рядом с ним, однако, когда я запрашиваю [imageview frame.origin.x] и [imageview frame.origin.y] Я всегда получаю 0, 0, который находится в верхнем левом углу экрана, а не в изображении. Как получить координаты x, y для предопределенного изображения?Imageview frame.origin.x frame.origin.y всегда возвращает 0,0

Это мой код для запроса изображения:

-(void) drawMyImage:(UIImage *)image nextTo:(UIImageView *)imageView{ 
    CGRect frame = [imageView frame]; 
    int startX = frame.origin.x+10; 
    int startY = frame.origin.y; 
    UIImageView *myImageView = [[UIImageView alloc]initWithFrame:CGRectMake(startX,startY,frame.size.width,frame.size.height)]; 
    myImageView .image = image; 
    [myImageView setNeedsDisplay]; 

} 

И мой образ всегда рисуется в левом верхнем углу экрана. Как я могу это исправить?

+0

убедитесь, что экземпляр ImageView не ноль – iCoder

ответ

2

Ответ был я определял все в viewDidLoad, когда я должен был сделать это в viewDidAppear, когда объекты IB есть кадры

0

Я думаю, вы должны использовать значение float, а не использовать int.

+0

что не помогает, есть ли другое решение? –

0

Попробуйте изменить [myImageView setNeedsDisplay]; к [imageView addSubView:myImageView];

+0

Я не хочу, чтобы мое изображение было подвидным представлением изображения. Я хочу, чтобы это было подвид объекта self.view, но я хочу, чтобы он отображался рядом с представлением изображения i, переданным как параметр, и поскольку начало координат всегда возвращает 0,0 , мое изображение всегда добавляется в верхнем левом углу экрана –