1111#import " UIImageView+WebCache.h"
1212#import " Coding_NetAPIManager.h"
1313
14- @interface ProjectSettingViewController ()<UITextViewDelegate>
14+ @interface ProjectSettingViewController ()<UITextViewDelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate >
1515
1616@property (nonatomic , strong ) UIBarButtonItem *submitButtonItem;
17+ @property (nonatomic , strong ) UIImage *projectIconImage;
1718
1819@end
1920
@@ -34,6 +35,8 @@ - (void)viewDidLoad {
3435 //
3536 self.projectImageView .layer .cornerRadius = 5 ;
3637 [self .projectImageView sd_setImageWithURL: [self .project.icon urlImageWithCodePathResizeToView: self .projectImageView]];
38+ UITapGestureRecognizer *tapProjectImageViewGR = [[UITapGestureRecognizer alloc ] initWithTarget: self action: @selector (selectProjectImage )];
39+ [self .projectImageView addGestureRecognizer: tapProjectImageViewGR];
3740
3841 // 添加 “完成” 按钮
3942 self.submitButtonItem = [UIBarButtonItem itemWithBtnTitle: @" 完成" target: self action: @selector (submit )];
@@ -45,13 +48,52 @@ - (void)viewDidLoad {
4548-(void )submit {
4649 self.project .description_mine = [self .descTextView.text stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet ]];
4750
51+ self.submitButtonItem .enabled = NO ;
52+
4853 // 更新项目
49- [[Coding_NetAPIManager sharedManager ] request_UpdateProject_WithObj: self .project andBlock: ^(Project *data, NSError *error) {
50- [self .navigationController popToRootViewControllerAnimated: YES ];
54+ [[Coding_NetAPIManager sharedManager ] request_UpdateProject_WithObj: self .project image: self .projectIconImage andBlock: ^(Project *data, NSError *error) {
55+ if (!error) {
56+ [self .navigationController popToRootViewControllerAnimated: YES ];
57+ }
58+ self.submitButtonItem .enabled = YES ;
5159 }];
5260
5361}
5462
63+ -(void )selectProjectImage {
64+ [[UIActionSheet bk_actionSheetCustomWithTitle: @" 选择照片" buttonTitles: @[@" 拍照" ,@" 从相册选择" ] destructiveTitle: nil cancelTitle: @" 取消" andDidDismissBlock: ^(UIActionSheet *sheet, NSInteger index) {
65+
66+ if (index > 1 ) {
67+ return ;
68+ }
69+
70+ UIImagePickerController *avatarPicker = [[UIImagePickerController alloc ] init ];
71+ avatarPicker.delegate = self;
72+ if (index == 0 ) {
73+ avatarPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
74+ }else {
75+ avatarPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
76+ }
77+ [self presentViewController: avatarPicker animated: YES completion: nil ];
78+ }] showInView: self .view];
79+ }
80+
81+ -(void )imagePickerController : (UIImagePickerController *)picker didFinishPickingMediaWithInfo : (NSDictionary *)info {
82+ UIImage *image = [info objectForKey: UIImagePickerControllerOriginalImage];
83+
84+ if (image) {
85+ self.projectImageView .image = image;
86+ self.projectIconImage = image;
87+ }
88+
89+ [picker dismissViewControllerAnimated: YES completion: nil ];
90+ }
91+
92+ -(void )imagePickerControllerDidCancel : (UIImagePickerController *)picker {
93+ [picker dismissViewControllerAnimated: YES completion: nil ];
94+ }
95+
96+
5597-(BOOL )textView : (UITextView *)textView shouldChangeTextInRange : (NSRange )range replacementText : (NSString *)text {
5698 NSString *string = [textView.text stringByReplacingCharactersInRange: range withString: text];
5799
0 commit comments