ios - ScrollView 中的全屏图像

标签 ios uiscrollview uiimageview

我有一个 UIScrollView 并在该 ScrollView 中包含图像,并且它们是以编程方式添加的。当我单击图像时,我希望该图像全屏显示。

我应该在代码中添加什么?
图像数量取决于[图像计数];

self.scrollView.contentSize = CGSizeMake(320, 134);
self.scrollView.delegate = self;
int X=0;

for (int i = 0; i < [images count]; i++)
{
    UIImageView *imageView = [[UIImageView alloc] initWithFrame: CGRectMake(X, 0, 140, 136)] ;
    imageView.backgroundColor = [UIColor redColor];
    [imageView setImage: [UIImage imageNamed:[NSString stringWithFormat:@"%d.png", i]]];
    [imageView setImage: [images objectAtIndex:i]];
    [self.scrollView addSubview: imageView];
    X = X + imageView.frame.size.height+5;

    if(X > 320)
        self.scrollView.contentSize = CGSizeMake(X, 134);
}

最佳答案

那么你不应该添加 UIImageViews。

而是添加 Custom 类型的 UIButton 并将图像添加到按钮,然后将 IBAction 添加到 UIButton,从而添加带有图像的 FullScreenView。

在每个按钮的 for() 中添加一个带有 i 的标签,并在 IBAction 函数中使用 [sender tag] 获取标签并使用 获取图像>[图像 objectAtIndex:[发件人标签]]

例子:

-(void)test{

for (int i = 0; i < [images count]; i++)
{

    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    button.frame = CGRectMake(X, 0, 140, 136);
    [button setImage:[images objectAtIndex:i] forState:UIControlStateNormal];
    button.tag = i;
    [button addTarget:self action:@selector(showFullscreen:) forControlEvents:UIControlEventTouchUpInside];
    [self.scrollView addSubview:button];
    X = X + button.frame.size.height+5;

    if(X > 320)
        self.scrollView.contentSize = CGSizeMake(X, 134);
}

}

-(IBAction)showFullscreen:(id)sender{

UIImageView *imageView = [[UIImageView alloc] initWithFrame: CGRectMake(0, 0, 320, 480)] ;
imageView.backgroundColor = [UIColor redColor];
[imageView setImage: [images objectAtIndex:[sender tag]]];
[self.view addSubview: imageView];
}

关于ios - ScrollView 中的全屏图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17807357/

相关文章:

iphone - 圆形 UIScrollView

ios - 淡入 UIImageView

javascript - 在 iOS 中使用 Javascript 构建一个简单的 WebView APP

ios - 命令 PhaseScriptExecution 因非零退出代码 flutter 而失败

ios - 如何在 Swift 中让按钮随背景滚动?

ios - 如何在一个 View 中选择的图像在另一个 View 中显示

ios - 如何在 UIImageView 中添加箭头?

ios - 如何将构建版本上传到 iTunes Connect for TestFlight?

ios - iPhone 模拟器 3.2 (iPad) 中的核心位置

ios - UIS ScrollView 。如何区分捏合缩放和捏合缩放?