国旗选择demo
用到MVC模式
Model : CZF l a g
View :CZFlagView ------ 通过 x i b 快速创建一个view
Controller : 逻辑处理 ( pickView和flag "国旗数据" 之间 )
view 这部分应该是这个demo中比较难理解的:
CZFlagView.h
#import <UIKit/UIKit.h>
@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 这里就不写了