Изображение точно посередине в iPad - PullRequest
0 голосов
/ 27 декабря 2011

У меня возникает проблема, когда я пытаюсь отобразить изображение точно в середине экрана UIView * userView.

 userView = [[UIView alloc] initWithFrame:CGRectMake(x, y, KVWDT, KVHGT)];//KVWDT=300 & KVHGT=400.

и мой вид изображения должен отображаться только в верхней половине пользовательского вида, внизу я также отображаю некоторые другие поля

NSString *imageName = [NSString stringWithFormat:[dic objectForKey:@"img"]];  
UIImage *image = [UIImage imageNamed:imageName];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
CGRect imgFrame = imageView.frame;

Как я должен отображать изображение точно в середине userView. Пожалуйста, помогите мне решить эту проблему

Ответы [ 4 ]

1 голос
/ 27 декабря 2011

использование:

UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
imageView.contentMode = UIViewContentModeCenter
imageView.center = userView.center;
1 голос
/ 27 декабря 2011

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

imageView.center = userView.center;
0 голосов
/ 28 декабря 2011

Наконец я нашел решение

    CGSize boundsSize = userView.frame.size;
    CGRect imgFrameToCenter = imageView.frame;
    //center horizontally
    if (imgFrameToCenter.size.width<boundsSize.width) {
        imgFrameToCenter.origin.x = (boundsSize.width-imgFrameToCenter.size.width)/2;

    }
    else{
        imgFrameToCenter.origin.x=0;
    }
0 голосов
/ 27 декабря 2011

Дайте фрейму UIImageView тот же фрейм, что и представлению. Затем установите для свойства UIImageView contentMode значение UIViewContentModeScaleAspectFit.

UIImageView *imageView = [UIImageView alloc] initWithFrame:CGRectMake(x, y, KVWDT, KVHGT)] autorelease];
imageView.image = image;
imageView.contentMode = UIViewContentModeScaleAspectFit;
[userView addSubview:imageView];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...