IOS 이미지 클릭 확대
그 중에서 디스플레이 시간이 0.3초일 때 외부에서 안으로 애니메이션 효과를 불러옵니다.
사용 방법:
ImageEnlargeViewController *_vc = [[ImageEnlargeViewController alloc]init];
_vc.enlargeImages = thumbnail;
[self.navigationController pushViewController:_vc animated:YES];
2. 현재 그림의 미리 보기 그림이 있는 ViewController에서 틀리지 않는 확대 그림을 불러오기(표시 시간을 0.0에서 0.3s로 조정)를 누르고 아래 두 주석의 코드를 엽니다.
//[backgroundView addSubview:imageView];
//[window addSubview:backgroundView];
사용 방법: [PhotoBrowser showImage: UIImageView.view];
- (void)viewDidLoad
{
[super viewDidLoad];
[self setTitle:@" "];
[self initContent];
}
- (void)initContent
{
self.imageViews=[[UIImageView alloc] initWithImage:self.enlargeImages];
self.imageViews.userInteractionEnabled=YES;
[self showImage: self.imageViews];
}
- (void)showImage:(UIImageView *)avatarImageView
{
UIImage *image=avatarImageView.image;
UIWindow *window=[UIApplication sharedApplication].keyWindow;
UIView *backgroundView=[[UIView alloc]initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];
oldframe=[avatarImageView convertRect:avatarImageView.bounds toView:window];
backgroundView.backgroundColor=[UIColor blackColor];
backgroundView.alpha=0;
UIImageView *imageView=[[UIImageView alloc]initWithFrame:oldframe];
imageView.image=image;
imageView.tag=1;
[self.view addSubview:imageView];
// [backgroundView addSubview:imageView];
// [window addSubview:backgroundView];
UITapGestureRecognizer *tap=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(hideImage:)];
[backgroundView addGestureRecognizer: tap];
[UIView animateWithDuration:0.0 animations:^{
imageView.frame=CGRectMake(0,([UIScreen mainScreen].bounds.size.height-image.size.height*[UIScreen mainScreen].bounds.size.width/image.size.width)/2, [UIScreen mainScreen].bounds.size.width, image.size.height*[UIScreen mainScreen].bounds.size.width/image.size.width);
backgroundView.alpha=1;
} completion:^(BOOL finished)
{
}];
}
- (void)hideImage:(UITapGestureRecognizer*)tap
{
UIView *backgroundView=tap.view;
UIImageView *imageView=(UIImageView*)[tap.view viewWithTag:1];
[UIView animateWithDuration:0.3 animations:^{
imageView.frame=oldframe;
backgroundView.alpha=0;
} completion:^(BOOL finished)
{
[backgroundView removeFromSuperview];
}];
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.