ios使用plist实现相册功能

第一步:照片复制到Assets文件夹再创建plist

第二步:页面设计

第三步:代码实现

objectivec 复制代码
//
//  PhotoViewController.m
//  study2024
//
//  Created by zhifei  zhu on 2024/8/11.
//

#import "PhotoViewController.h"

@interface PhotoViewController ()
@property (weak, nonatomic) IBOutlet UIButton *btnPre;
@property (weak, nonatomic) IBOutlet UIButton *btnNext;
@property (weak, nonatomic) IBOutlet UIImageView *img;
@property (weak, nonatomic) IBOutlet UILabel *lblTitle;
@property (weak, nonatomic) IBOutlet UILabel *lblDescrible;
@property (weak,nonatomic) NSArray *picArr;
@property (nonatomic) int index;
- (IBAction)pre:(id)sender;
- (IBAction)next:(id)sender;

-(void) getImagewithIndex:(int)index;
@end

@implementation PhotoViewController
-(NSArray *)picArr{
    if(_picArr==nil)
    {
        NSString *path=[[NSBundle mainBundle]pathForResource:@"pic.plist" ofType:nil];
        _picArr=[NSArray arrayWithContentsOfFile:path];
    }
    return _picArr;
}
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    [self getImagewithIndex:0];
}

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/



- (IBAction)pre:(id)sender {
    self.index--;
    [self getImagewithIndex:self.index];
}
- (IBAction)next:(id)sender {
    self.index++;
    [self getImagewithIndex:self.index];
    
  
}

-(void) getImagewithIndex:(int)index{
    NSDictionary *dictionary=self.picArr[index];
    self.lblTitle.text=[NSString stringWithFormat:@"%d/%d",index+1,_picArr.count];
    self.lblDescrible.text=dictionary[@"title"];
    self.img.image=[UIImage imageNamed:dictionary[@"icon"]];
    self.btnPre.enabled=(index!=0);
    self.btnNext.enabled=(index!=(self.picArr.count-1));

}
@end

效果:

相关推荐
AI云海8 小时前
iOS 多 Target 打包、UAT/生产测试与上架 App Store 全流程指南
ios
阿里超级工程师10 小时前
最新快速申请ios打包证书和profile文件步骤
ios·打包证书
2501_9159090614 小时前
iOS 应用反调试技详解术 检测调试器的原理与防护实践
android·ios·小程序·https·uni-app·iphone·webview
游戏开发爱好者815 小时前
TraceEagle 代理抓包详解,无感代理、去证书绑定与 HTTP/3 解密能力解析
网络协议·计算机网络·网络安全·ios·adb·https·udp
aiopencode16 小时前
SwiftUI Introspect生产环境完全指南:为什么它是安全可靠的选择
后端·ios
for_ever_love__17 小时前
iOS: 网络管理单例
学习·ios·objective-c
00后程序员张17 小时前
iOS加固技术路线全面解析:Bitcode模式、源码模式与汇编模式对比及爱加密优势
android·汇编·ios·小程序·uni-app·cocoa·iphone
ii_best1 天前
更新!移动端开发软件按键安卓版&手机助手v5.1.0上线!本地AI识别全面解锁,脚本开发再升级
android·人工智能·ios·按键精灵
weixin_403810131 天前
03-iOS免越狱无线投屏-上传图片和视频到相册
ios·新媒体运营·跨境电商·ios自动化·ios投屏·ios智能体·ios脚本
2501_916007471 天前
SwiftUI 声明式语法与 Xcode 预览功能详解
ide·vscode·ios·swiftui·个人开发·xcode·敏捷流程