Вы можете показать только часть изображения (сверху, снизу, слева или справа), установив UIImageView
s contentMode
к любому из этих
UIViewContentModeTop
UIViewContentModeBottom
UIViewContentModeLeft
UIViewContentModeRight
установка clipsToBounds = YES
и изменение его кадра соответственно. Поскольку frame
является анимационным свойством, эта комбинация позволит вам анимировать показ только части изображения.
Например: Если вы хотите показать только 20 точек снизу, установите imageView.contentMode = UIViewContentModeBottom;
и установите его frame
с высоты до 20
. Изображение будет находиться у нижнего края UIImageView
независимо от того, какой кадр вы ему устанавливаете.
См пример кода:
UIImage *image = [UIImage imageNamed:@"myImage"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
imageView.frame = CGRectMake(0, 0, 0, 40);
imageView.contentMode = UIViewContentModeLeft;
imageView.clipsToBounds = YES;
[self.view addSubview:imageView];
CGRect finalFrame = imageView.frame;
finalFrame.size.width = 40;
[UIView animateWithDuration:1.0 animations:^{
imageView.frame = finalFrame;
}];
Этот код оживляет изображения, расширяя его размер от 0 размер 40.
Я не получаю вы объяснить это ясно – iEinstein
ширина уже 316. Так что не следует ожидают, как ожидалось. – NeverHopeless
@ NeverHopeless-То же самое, что я думал – iEinstein