UIPickView 国旗选择demo

国旗选择demo

用到MVC模式

Model : CZF l a g
View :CZFlagView ------ 通过 x i b 快速创建一个view
Controller : 逻辑处理 ( pickView和flag "国旗数据" 之间 )

view 这部分应该是这个demo中比较难理解的:

CZFlagView.h
#import 

@class CZFlag;
@interface CZFlagView : UIView

// 提供给外界一个快速创建flagView的方法
+ (instancetype)flagView;

+ (CGFloat)rowHeight;

//拿到数据
@property (nonatomic, strong) CZFlag *flag;

@end
CZFlagView.m
#import "CZFlagView.h"
#import "CZFlag.h"
@interface CZFlagView ()

名称
@property (nonatomic, weak) IBOutlet UILabel *nameLbl;

国旗图片框
@property (nonatomic, weak) IBOutlet UIImageView *iconView;


@end

@implementation CZFlagView

通过这个方法可以快速创建一个flagView
+ (instancetype)flagView {

    return [[[NSBundle mainBundle] loadNibNamed:@"CZFlagView" owner:nil options:nil] firstObject];

}

设置view之间行高
+ (CGFloat)rowHeight {
    
    return 80;
}

**重写数据模型的set方法:因为要对floaView 的xib文件内部属性赋值**
- (void)setFlag:(CZFlag *)flag {

    _flag = flag;
    
    赋值
    self.nameLbl.text = flag.name;
    self.iconView.image = [UIImage imageNamed:flag.icon];
    
    
}

@end

viewControlelr.m中逻辑处理的代码 雷同于菜谱 省市选择demo 这里就不写了

思路参考图:

UIPickView 国旗选择demo_第1张图片
pickView国旗demo.png

你可能感兴趣的:(UIPickView 国旗选择demo)