麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

MonoTouch-iOS使用UIImagePickerController打開圖片庫和相機選擇圖片修改頭像

2019-11-14 18:45:27
字體:
來源:轉載
供稿:網友

application tried to PResent modally an active controller <UIImagePickerController: 0x7b6ff400>

1,AddGestureRecognizer為圖片視圖添加事件

 //圓角頭像 _avatarView = new UIImageView(new RectangleF(_blockSpace, _blockSpace, 2 * _avatarRadius, 2 * _avatarRadius));UIImage img = UIImage.FromFile("profile-pic.jpg");_avatarView.Layer.Contents = img.CGImage;_avatarView.Layer.MasksToBounds = true;//如果沒有將MasksToBounds設置為true,圖片圓角無效_avatarView.Layer.CornerRadius = _avatarRadius; _avatarView.UserInteractionEnabled = true;//用戶互動屬性()_avatarView.AddGestureRecognizer(new UITapGestureRecognizer(onClickImage));

 

 void onClickImage() {            try            {                //UIActionSheet是在iOS彈出的選擇按鈕項的對話框,可以添加多項,并為每項添加點擊事件。                //ChangePictureActionSheetDelegate:通過重寫UIActionSheetDelegate的Clicked方法,獲取當前點擊項                UIActionSheet _actionSheet = new UIActionSheet("選擇圖片",                new ChangePictureActionSheetDelegate(this,_avatarView), "取消",                null, "從相片庫", "拍照");                                _actionSheet.ShowInView(this.View);            }            catch (Exception e)            {                Console.WriteLine("Error:" + e.Message);            } }

 UIActionSheet是在iOS彈出的選擇按鈕項的對話框,可以添加多項,并為每項添加點擊事件。 

 

2,獲取UIActionSheet選擇項

 關鍵類:UIActionSheetDelegate。通過重寫UIActionSheetDelegate的Clicked方法,獲取UIActionSheet當前點擊項 

class ChangePictureActionSheetDelegate : UIActionSheetDelegate    {        UIViewController _controller;        UIImageView _img;        UIImagePickerController picker;        public ChangePictureActionSheetDelegate(UIViewController controller,UIImageView img)        {            _controller = controller;            _img = img;        }        public override void Clicked(UIActionSheet actionSheet, int buttonIndex)        {            Console.WriteLine("你選擇了:" + buttonIndex);            switch (buttonIndex)            {                case 1: CallPhoto(UIImagePickerControllerSourceType.Camera); break;                case 0: CallPhoto(UIImagePickerControllerSourceType.PhotoLibrary); break;                default: break;            }        }                        private void CallPhoto(UIImagePickerControllerSourceType type)        {            Console.WriteLine("Begin...");            if (UIImagePickerController.IsSourceTypeAvailable(type))            {                try                {                    picker = new UIImagePickerController();                    picker.SourceType = type;                    //允許編輯圖片                    picker.AllowsEditing = true;                    if (_controller.PresentedViewController == null)                    {                        _controller.PresentModalViewController(picker, false);                    }                    //picker.FinishedPickingImage += picker_FinishedPickingImage;(無效)                    //AvatarPickerDelegate:通過重寫UIImagePickerControllerDelegate的FinishedPickingImage方法獲取選擇的圖片                    picker.Delegate =new AvatarPickerDelegate(_img);                    Console.WriteLine("Finished");                }                catch (Exception e)                {                    Console.WriteLine("Error:" + e.Message);                }            }            else            {                Console.WriteLine("該設備不支持此操作");            }        }    }

 

3,獲取選擇的圖片

關鍵類:UIImagePickerControllerDelegate。通過重寫UIImagePickerControllerDelegate的FinishedPickingImage方法獲取選擇的圖片

class AvatarPickerDelegate:UIImagePickerControllerDelegate {        UIImageView _avatar;        public AvatarPickerDelegate(UIImageView _imgView) {            _avatar = _imgView;        }                public override void FinishedPickingImage(UIImagePickerController picker, UIImage image, NSDictionary editingInfo)        {            Console.WriteLine("選擇了圖片");            if (image == null)            {                Console.WriteLine("Null");            }           //更新顯示圖片            _avatar.Layer.Contents = image.CGImage;            //關閉UIImagePicker            picker.DismissModalViewControllerAnimated(true);            Console.WriteLine("完成選擇");                    }    }

  




發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美成人精品一区二区 | 欧美激情第一区 | 国产小视频在线观看 | 精品久久久一二三区播放播放播放视频 | 亚洲欧洲日产v特级毛片 | 久久久久北条麻妃免费看 | 国产精品久久久久久久hd | 99最新地址 | 日韩黄色免费在线观看 | 正在播放91 | 亚洲第一黄色网 | 欧日一级片 | 精品久久久久久久久久久久包黑料 | 亚洲免费永久 | 日本不卡视频在线观看 | 久久久新 | 国产亚洲精久久久久久蜜臀 | 免费人成在线播放 | 国产羞羞视频在线免费观看 | 日韩精品久久久久久久九岛 | 国产精品久久久久久久久粉嫩 | 日韩精品免费一区二区三区 | av电影在线观看网站 | 成人福利免费在线观看 | 色域tv| 成人在线视频精品 | 久久久资源网 | 草莓视频在线导航 | 国产亚洲精彩视频 | 国产精品18久久久久久久久 | 日本在线免费观看 | 久久成人在线观看 | 国产人成免费爽爽爽视频 | 激情亚洲网 | 综合国产在线 | 国产精品成人免费一区久久羞羞 | 免费a级毛片大学生免费观看 | 国产在线观看免费视频软件 | 九九综合九九 | 免费在线观看成人av | 午夜久久久精品一区二区三区 |