加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift之图片浏览器

发布时间:2020-12-14 07:13:48 所属栏目:百科 来源:网络整理
导读:1、事先准备若干图片。 2、效果图: 3、控件 :UIlabel,UIImageView,UIButton 4、建好的pic.plist 文件如下: 5、代码如下: import UIKitclass ViewController: UIViewController { ///---资源数组 var pic:NSArray!; ///--索引 var index:Int = 0; @IBOutl

1、事先准备若干图片。

2、效果图:


3、控件:UIlabel,UIImageView,UIButton

4、建好的pic.plist 文件如下:


5、代码如下:

import UIKit

class ViewController: UIViewController {
    
   
    ///---资源数组
    var pic:NSArray!;
    ///--索引
    var index:Int = 0;

    @IBOutlet weak var backBtn: UIButton!
    @IBOutlet weak var imageview: UIImageView!
    @IBOutlet weak var label: UILabel!
    @IBOutlet weak var topLabel: UILabel!
    
    
    @IBOutlet weak var nextBtn: UIButton!
    
    
    
    @IBAction func backBtnClick(sender: AnyObject) {
        
        ///---索引--
        index--;
        if(index >= 0)
        {
            if (index == 0)
            {
                backBtn.enabled = false;
                nextBtn.enabled = true;
            }
            ///---1、从数组中获取当前索引对应的图片数据
            let dic = pic[index];
            
            ///---2、将数据设置到控件上
            topLabel.text = "(index+1)/(pic.count)";
            
            let i = dic["icon"]!;
            imageview.image = UIImage(named:"(i!)");
            let s = dic["label"]!;
            label.text = "(s!)";
        }
        else
        {
            index = 0;
            backBtn.enabled = false;
        }
       
    }
    override func viewDidLoad() {
        super.viewDidLoad()
        
        ///---获取.plist文件路径
        let path:String! = (NSBundle.mainBundle()).pathForResource("pic.plist",ofType: nil);
        if (path.isEmpty)
        {
            print("路径为空,没找到文件");
        }
       else
        {
            ///---读取文件,先获取数组(plist文件中,root级的类型为ARRAY)
            let array = NSArray(contentsOfFile:path!);
//            print("path=(path!)");
//            print("array.count = (array!.count)");
            pic = array;
        }
        
        ///-----设置启动图像
        ///---1、从数组中获取当前索引对应的图片数据
        let dic = pic[0];
        
        ///---2、将数据设置到控件上
        topLabel.text = "(1)/(pic.count)";
        
        let i = dic["icon"]!;
        imageview.image = UIImage(named:"(i!)");
        let s = dic["label"]!;
        label.text = "(s!)";
        
        ///---禁用上一个按钮
        backBtn.enabled = false;
    }
    ///---下一张
    
    @IBAction func nextBtnClick(sender: UIButton) {
        
        ///---索引++
        index++;
        
        ///---1、从数组中获取当前索引对应的图片数据
        let dic = pic[index-1];
        
        ///---2、将数据设置到控件上
        topLabel.text = "(index)/(pic.count)";
        
        let i = dic["icon"]!;
        imageview.image = UIImage(named:"(i!)");
        let s = dic["label"]!;
        label.text = "(s!)";
        
       
        ///---设置按钮是否可用
        nextBtn.enabled = index != pic.count;
        backBtn.enabled = index == pic.count;
//
//        if (index == pic.count)
//        {
//            nextBtn.enabled = false;
//        }
//        else
//        {
//            nextBtn.enabled = true;
//        }
        
    }
 
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

6、我的做法可能不是最好的, 还请大神指点下。 3Q

7、swift中,NSArray的元素是倒序的。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读