• Objective-C ,ios,iphone开发基础:快速实现一个简单的图片查看器


    新建一个single view 工程:

    关闭ARC , 在.xib视图文件上拖放一个UIImageView  两个UIButton ,一个UISlider ,布局如图。

     

    并为他们连线,

    UIImageView 和 UISlider 分别定义插座变量,两个 UIButton 分别 连接两个Action next和previous ,在为 UISlider 连接一个Action  事件。

    再在.h 文件中声明两个实例变量。   NSInteger index ; NSMutableArray* arrayPic ; 一个用来记录当前图片的index,一个用来做图片的容器,

    用UISlider 来控制图片的透明度 (alpha 属性)。在slider 的界面构建起动作中添加代码,让图片的透明度等于 slider的value。

    - (IBAction)sliderChangeValued:(id)sender {
        
        self.imageView.alpha = slider.value;
    }

    在两个UIButton 的界面构建起动作中添加代码,循环遍历arrayPic中的图片:

    - (IBAction)next:(id)sender {
        if(index == [arrayPic count]){
            index = 0;
        }
        self.imageView.image = [UIImage imageWithContentsOfFile:[arrayPic objectAtIndex:index]];
        index++;
    }
    
    - (IBAction)previous:(id)sender {
        if(index == -1){
            index = ([arrayPic count] -1);
        }
       self.imageView.image = [UIImage imageWithContentsOfFile:[arrayPic objectAtIndex:index]];
        index--;
    }

    至此:简单的图片查看器已经完成,

    整个控制器类中的代码:

    //
    //  wsqViewController.h
    //  picLook
    //
    //  Created by administrator on 13-9-5.
    //  Copyright (c) 2013年 __MyCompanyName__. All rights reserved.
    //
    
    #import <UIKit/UIKit.h>
    
    @interface wsqViewController : UIViewController {
        UIImageView *imageView;
        UISlider *slider;
        NSInteger index ;
        NSMutableArray* arrayPic ;
        
       
    }
    
    @property (retain, nonatomic) IBOutlet UIImageView *imageView;
    @property (retain, nonatomic) IBOutlet UISlider *slider;
    - (IBAction)sliderChangeValued:(id)sender;
    - (IBAction)next:(id)sender;
    
    - (IBAction)previous:(id)sender;
    
    @end
    //
    //  wsqViewController.m
    //  picLook
    //
    //  Created by administrator on 13-9-5.
    //  Copyright (c) 2013年 __MyCompanyName__. All rights reserved.
    //
    
    #import "wsqViewController.h"
    
    @implementation wsqViewController
    @synthesize imageView;
    @synthesize slider;
    
    - (void)didReceiveMemoryWarning
    {
        [super didReceiveMemoryWarning];
        // Release any cached data, images, etc that aren't in use.
    }
    
    #pragma mark - View lifecycle
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        //获取mainbudle下所有 jpg格式的图片,
          arrayPic = [[NSMutableArray alloc ] initWithArray: [[NSBundle mainBundle] pathsForResourcesOfType:@"jpg" inDirectory:nil]];
        index = 0;
        NSLog(@"%@",arrayPic);
        
    }
    
    - (void)viewDidUnload
    {
        [self setImageView:nil];
        [self setSlider:nil];
        [super viewDidUnload];
        // Release any retained subviews of the main view.
        // e.g. self.myOutlet = nil;
    }
    
    - (void)viewWillAppear:(BOOL)animated
    {
        [super viewWillAppear:animated];
    }
    
    - (void)viewDidAppear:(BOOL)animated
    {
        [super viewDidAppear:animated];
    }
    
    - (void)viewWillDisappear:(BOOL)animated
    {
        [super viewWillDisappear:animated];
    }
    
    - (void)viewDidDisappear:(BOOL)animated
    {
        [super viewDidDisappear:animated];
    }
    
    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
    {
        // Return YES for supported orientations
        return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
    }
    
    - (void)dealloc {
        [arrayPic release];
        [imageView release];
        [slider release];
        [super dealloc];
    }
    - (IBAction)sliderChangeValued:(id)sender {
        
        self.imageView.alpha = slider.value;
    }
    
    - (IBAction)next:(id)sender {
        if(index == [arrayPic count]){
            index = 0;
        }
        self.imageView.image = [UIImage imageWithContentsOfFile:[arrayPic objectAtIndex:index]];
        index++;
    }
    
    - (IBAction)previous:(id)sender {
        if(index == -1){
            index = ([arrayPic count] -1);
        }
       self.imageView.image = [UIImage imageWithContentsOfFile:[arrayPic objectAtIndex:index]];
        index--;
    }
    @end


  • 相关阅读:
    工具
    选择排序
    c#中queue的用法
    c#加密
    话谈c#拷贝
    const与readonly的区别
    WinForm中使MessageBox实现可以自动关闭功能
    c#winform关闭窗口时触发的事件
    委托
    C# STA和MTA线程设置
  • 原文地址:https://www.cnblogs.com/riskyer/p/3303939.html
Copyright © 2020-2023  润新知