我正在制作一个应用程序,其中一个元素是一个ViewController,向用户展示一张图片缩略图和一些细节。我希望的效果是当用户点击图片时,它可以全屏显示其原始大小(无论是纵向还是横向)。当用户再次点击时,它将把图像缩小回缩略图。
目前,我已经实现了点击功能,可以在点击时全屏显示并在再次点击时最小化图像,但存在一些问题。
它似乎会过度拉伸图片,如果是横向图片,它仍会强制拉伸为纵向。此外,缩略图位于UIScrollView中,因此当缩放图像时,有时不会将其居中,您仍然可以滚动,当其全屏显示时。请问我该怎么做才能解决这些问题呢?如果Twitter应用程序对您有所帮助,我希望它能与该应用程序类似。我对iOS开发也比较新手。
以下是执行点击操作的代码:
-(IBAction)tap:(id)sender {
//goto new ViewController and set the image
if (!isFullScreen) {
[UIView animateWithDuration:0.5 delay:0 options:0 animations:^{
//save previous frame
prevFrame = _imageView.frame;
[_imageView setFrame:[[UIScreen mainScreen] bounds]];
}completion:^(BOOL finished){
isFullScreen = TRUE;
}];
return;
} else {
[UIView animateWithDuration:0.5 delay:0 options:0 animations:^{
[_imageView setFrame:prevFrame];
} completion:^(BOOL finished){
isFullScreen = FALSE;
}];
return;
}
}