1020 lines
32 KiB
Objective-C
1020 lines
32 KiB
Objective-C
//
|
||
// MineKankanEditViewController.m
|
||
// Ifish
|
||
//
|
||
// Created by imac on 16/11/9.
|
||
// Copyright © 2016年 lianxiang. All rights reserved.
|
||
//
|
||
|
||
#import "MineKankanEditViewController.h"
|
||
#import "MineKanEditSec0ViewCell.h"
|
||
#import "MineKanEditSec1firstCell.h"
|
||
#import "MineKanEditSec1SecondCell.h"
|
||
#import "MineKanEditSec1ThredCell.h"
|
||
#import "MineKanEditSec2FirstCell.h"
|
||
#import "MineKanEditSec2SecCell.h"
|
||
#import "MineKanEditSec2ThredCell.h"
|
||
|
||
#define CELL_XUANYANTEXTVIEWTAG 240000
|
||
#define CELL_LIVEWFACEVIEWTAG 240100
|
||
#define CELL_LIVEWNAMETAG 240200
|
||
#define CELL_LIVECAMERANAMETAG 240300
|
||
#define CELL_LIVESHARETAG 240400
|
||
#define CELL_TIJIAOTAG 240500
|
||
|
||
#import "UITextView+AddKeybordDoneVIew.h"
|
||
#import "LXActionView.h"
|
||
#import "IfishCameraModel.h"
|
||
#import "MineKanKanRoomInfo.h"
|
||
#define PHOTOSHEET_TAG 1001010
|
||
#define DEVICESHEET_TAG 1001110
|
||
|
||
@interface MineKankanEditViewController ()<UITableViewDelegate,UITableViewDataSource,UITextViewDelegate,
|
||
UIImagePickerControllerDelegate,
|
||
UIActionSheetDelegate,
|
||
UINavigationControllerDelegate,
|
||
UITextFieldDelegate>
|
||
|
||
@property(nonatomic,strong)UITableView *tableView;
|
||
|
||
@property(nonatomic,strong)UIActionSheet*photosheet;
|
||
@property(nonatomic,strong)UIActionSheet*deviceSheet;
|
||
//@property (nonatomic,copy) NSString *roomName;
|
||
@property (nonatomic,copy) NSString *camraName;
|
||
@property (nonatomic,copy) NSString *camraID;
|
||
@property (nonatomic,copy) NSString *isLive;
|
||
@property (nonatomic,copy) NSString *roomSatus;
|
||
@property (nonatomic,strong) NSArray *cameraIdArr;
|
||
@property (nonatomic,copy) NSString *xuanYan;
|
||
@property (nonatomic,strong) MineKanKanRoomInfo *roomInfoinfo;
|
||
@property (nonatomic) BOOL saved;
|
||
@property(nonatomic) NSTimer *getInfTimer;
|
||
|
||
@end
|
||
|
||
@implementation MineKankanEditViewController
|
||
|
||
- (void)viewDidLoad {
|
||
[super viewDidLoad];
|
||
[self initCameradata];
|
||
[self loadData];
|
||
// Do any additional setup after loading the view.
|
||
[self addTitleViewWithTitle:@"我的看看"];
|
||
[self creatTab];
|
||
_saved = NO;
|
||
|
||
}
|
||
|
||
|
||
-(void)goBackAction{
|
||
|
||
//IOS 8
|
||
if (_saved) {
|
||
[self.navigationController popViewControllerAnimated:YES];
|
||
return;
|
||
|
||
}
|
||
UIAlertController*ac=[UIAlertController alertControllerWithTitle:@"" message:@"是否放弃当前修改" preferredStyle:UIAlertControllerStyleAlert];
|
||
|
||
[self presentViewController:ac animated:YES completion:nil];
|
||
[ac addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction*action){
|
||
|
||
|
||
|
||
}]];
|
||
[ac addAction:[UIAlertAction actionWithTitle:@"放弃" style:UIAlertActionStyleDefault handler:^(UIAlertAction*action){
|
||
|
||
[self.navigationController popViewControllerAnimated:YES];
|
||
|
||
}]];
|
||
|
||
}
|
||
|
||
-(void)loadData{
|
||
//获取直播间信息
|
||
|
||
UserModel*model=[dataContorl getUserInfo];
|
||
NSString *userId =[NSString stringWithFormat:@"%@",model.userId];
|
||
|
||
[AFHttpTool getLiewRoomInfo:userId success:^(id response) {
|
||
NSDictionary *reDic=[NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers error:nil];
|
||
NSDictionary *dataDic=reDic[@"data"];
|
||
|
||
if ([dataDic isKindOfClass:[NSNull class]]) {
|
||
return ;
|
||
}
|
||
if ([reDic[@"result"] isEqualToString:@"100"]) {
|
||
MineKanKanRoomInfo *info=[[MineKanKanRoomInfo alloc] init];
|
||
|
||
if (dataDic.count !=0) {
|
||
info.createTime = dataDic[@"createTime"];
|
||
info.popularityValue = dataDic[@"popularityValue"];
|
||
info.roomDesc = dataDic[@"roomDesc"];
|
||
info.roomId = dataDic[@"roomId"];
|
||
info.roomName = dataDic[@"roomName"];
|
||
info.roomStatus = dataDic[@"roomStatus"];
|
||
info.userId = dataDic[@"userId"];
|
||
self.roomInfoinfo = info;
|
||
self.isLive = self.roomInfoinfo.roomStatus;
|
||
if (self.isLive) {
|
||
if ([self.isLive isEqualToString:@"2"]) {
|
||
|
||
[self heiMingDanAlert];
|
||
}
|
||
|
||
}
|
||
[self.tableView reloadData];
|
||
}
|
||
|
||
}
|
||
|
||
} failure:^(NSError *err) {
|
||
|
||
|
||
}];
|
||
|
||
}
|
||
|
||
-(void)heiMingDanAlert{
|
||
UIAlertController*ac=[UIAlertController alertControllerWithTitle:@"" message:@"由于您分享的内容不符合规范,您的分享已经被关闭,如需重新开启请联系客服。" preferredStyle:UIAlertControllerStyleAlert];
|
||
|
||
[self presentViewController:ac animated:YES completion:nil];
|
||
[ac addAction:[UIAlertAction actionWithTitle:@"知道了" style:UIAlertActionStyleCancel handler:^(UIAlertAction*action){
|
||
|
||
[self.navigationController popViewControllerAnimated:YES];
|
||
|
||
}]];
|
||
|
||
}
|
||
|
||
-(void)initCameradata{
|
||
|
||
NSArray*cameraArr =[dataContorl getallCameras];
|
||
|
||
if ([cameraArr count] !=0) {
|
||
|
||
for (IfishCameraModel *model in cameraArr) {
|
||
//直播开启 且已激活
|
||
if ([model.isLive isEqualToString:@"1"] &&[model.isActive isEqualToString:@"1"]) {
|
||
self.camraName = model.showName;
|
||
self.camraID = model.cameraId;
|
||
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
if (!self.isLive) {
|
||
self.isLive = @"0";
|
||
}
|
||
|
||
if (!self.camraName) {
|
||
self.camraName = @"请选择摄像头";
|
||
}
|
||
|
||
}
|
||
-(void)creatTab{
|
||
|
||
self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height ) style:UITableViewStylePlain];
|
||
|
||
self.tableView.delegate = self;
|
||
self.tableView.dataSource = self;
|
||
self.tableView.scrollEnabled = YES;
|
||
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
|
||
self.tableView.showsVerticalScrollIndicator = NO;
|
||
|
||
self.tableView.backgroundColor = TABLE_BACKGROUD_COLOR;
|
||
|
||
[self.view addSubview:self.tableView];
|
||
|
||
}
|
||
|
||
#pragma mark - Table view data source
|
||
|
||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||
|
||
return 3;
|
||
}
|
||
|
||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||
|
||
if (section == 0) {
|
||
|
||
return 1;
|
||
|
||
}else if (section == 1){
|
||
|
||
return 3;
|
||
|
||
}else if (section == 2){
|
||
|
||
return 3;
|
||
}
|
||
return 0;
|
||
|
||
}
|
||
|
||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||
|
||
if (indexPath.section ==0) {
|
||
|
||
MineKanEditSec0ViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MineKanEditSec0ViewCell"];
|
||
if (!cell) {
|
||
cell = [[[NSBundle mainBundle]loadNibNamed:@"MineKanEditSec0ViewCell" owner:self options:nil]lastObject];
|
||
|
||
}
|
||
cell.tag = CELL_LIVEWFACEVIEWTAG;
|
||
|
||
if (self.roomInfoinfo) {
|
||
[cell loadImgWith:self.roomInfoinfo];
|
||
cell.tianJiaBtn.hidden = YES;
|
||
cell.tianJiaLabel.hidden= YES;
|
||
|
||
}else{
|
||
cell.tianJiaBtn.hidden = NO;
|
||
cell.tianJiaLabel.hidden= NO;
|
||
}
|
||
[cell.tianJiaBtn addTarget:self action:@selector(addImgAction) forControlEvents:UIControlEventTouchUpInside];
|
||
|
||
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||
|
||
return cell;
|
||
|
||
}else if (indexPath.section ==1 && indexPath.row ==0){
|
||
|
||
MineKanEditSec1firstCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MineKanEditSec1firstCell"];
|
||
if (!cell) {
|
||
cell = [[[NSBundle mainBundle]loadNibNamed:@"MineKanEditSec1firstCell" owner:self options:nil]lastObject];
|
||
|
||
}
|
||
|
||
if (self.roomInfoinfo.roomName) {
|
||
|
||
cell.roomNameFiled.text = self.roomInfoinfo.roomName;
|
||
|
||
}
|
||
cell.roomNameFiled.delegate= self;
|
||
cell.tag = CELL_LIVEWNAMETAG;
|
||
|
||
return cell;
|
||
|
||
}else if (indexPath.section ==1 && indexPath.row ==1){
|
||
|
||
MineKanEditSec1SecondCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MineKanEditSec1SecondCell"];
|
||
if (!cell) {
|
||
cell = [[[NSBundle mainBundle]loadNibNamed:@"MineKanEditSec1SecondCell" owner:self options:nil]lastObject];
|
||
|
||
}
|
||
cell.accessoryType =UITableViewCellAccessoryDisclosureIndicator;
|
||
cell.tag = CELL_LIVECAMERANAMETAG;
|
||
//获取当前用户摄像头 选择isLive = 1 的显示
|
||
|
||
|
||
if (self.camraName) {
|
||
cell.cameraName.text = self.camraName;
|
||
return cell;
|
||
}
|
||
|
||
cell.cameraName.text = @"暂无可用摄像头";
|
||
return cell;
|
||
|
||
|
||
}else if (indexPath.section ==1 && indexPath.row ==2){
|
||
|
||
MineKanEditSec1ThredCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MineKanEditSec1ThredCell"];
|
||
if (!cell) {
|
||
cell = [[[NSBundle mainBundle]loadNibNamed:@"MineKanEditSec1ThredCell" owner:self options:nil]lastObject];
|
||
|
||
}
|
||
cell.tag = CELL_LIVESHARETAG;
|
||
|
||
//直播开启 且已激活
|
||
if (!self.isLive) {
|
||
|
||
self.isLive = @"0";
|
||
}
|
||
|
||
if ([self.isLive isEqualToString:@"1"]) {
|
||
|
||
cell.shareSwicthBtn.selected = YES;
|
||
|
||
}else{
|
||
|
||
cell.shareSwicthBtn.selected = NO;
|
||
}
|
||
|
||
[cell.shareSwicthBtn addTarget:self action:@selector(shareBtnAction:) forControlEvents:UIControlEventTouchUpInside];
|
||
|
||
return cell;
|
||
|
||
}else if (indexPath.section ==2 && indexPath.row ==0){
|
||
|
||
MineKanEditSec2FirstCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MineKanEditSec2FirstCell"];
|
||
if (!cell) {
|
||
cell = [[[NSBundle mainBundle]loadNibNamed:@"MineKanEditSec2FirstCell" owner:self options:nil]lastObject];
|
||
|
||
}
|
||
|
||
return cell;
|
||
|
||
}else if (indexPath.section ==2 && indexPath.row ==1){
|
||
|
||
MineKanEditSec2SecCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MineKanEditSec2SecCell"];
|
||
if (!cell) {
|
||
cell = [[[NSBundle mainBundle]loadNibNamed:@"MineKanEditSec2SecCell" owner:self options:nil]lastObject];
|
||
|
||
}
|
||
cell.tag = CELL_XUANYANTEXTVIEWTAG;
|
||
|
||
cell.xuanYanFiled.delegate= self;
|
||
//扩展键盘
|
||
// [cell.xuanYanFiled keybordViewAddDoneView];
|
||
if (self.roomInfoinfo) {
|
||
|
||
cell.xuanYanFiled.text = self.roomInfoinfo.roomDesc;
|
||
[cell.plachoderlabel setHidden:YES];
|
||
}
|
||
|
||
return cell;
|
||
|
||
}else if (indexPath.section ==2 && indexPath.row ==2){
|
||
|
||
MineKanEditSec2ThredCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MineKanEditSec2ThredCell"];
|
||
if (!cell) {
|
||
cell = [[[NSBundle mainBundle]loadNibNamed:@"MineKanEditSec2ThredCell" owner:self options:nil]lastObject];
|
||
|
||
}
|
||
cell.tag = CELL_TIJIAOTAG;
|
||
[cell.baoCunBtn addTarget:self action:@selector(tijiaoZiLiao:) forControlEvents:UIControlEventTouchUpInside];
|
||
|
||
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||
|
||
return cell;
|
||
}
|
||
|
||
return nil;
|
||
|
||
}
|
||
|
||
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
|
||
|
||
if (section == 0) {
|
||
return 0;
|
||
|
||
}else{
|
||
return 20;
|
||
|
||
}
|
||
}
|
||
|
||
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
|
||
{
|
||
|
||
if (indexPath.section ==0) {
|
||
|
||
return kScreenSize.width * 0.46;
|
||
|
||
}else if (indexPath.section ==1){
|
||
|
||
return kScreenSize.width*0.12;
|
||
}else if (indexPath.section ==2 && indexPath.row ==0){
|
||
|
||
return kScreenSize.width*0.12;
|
||
|
||
}else if (indexPath.section ==2 && indexPath.row ==1){
|
||
|
||
return kScreenSize.width*0.33;
|
||
|
||
}else if (indexPath.section ==2 && indexPath.row ==2){
|
||
|
||
return kScreenSize.width*0.26;
|
||
|
||
}
|
||
|
||
return 0;
|
||
|
||
}
|
||
|
||
-(UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
|
||
UIView*view = nil;
|
||
|
||
if (section!=0) {
|
||
|
||
view= [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenSize.width, 20)];
|
||
view.backgroundColor = RGB(242, 242, 242);
|
||
|
||
}
|
||
|
||
return view;
|
||
|
||
}
|
||
|
||
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
|
||
[tableView deselectRowAtIndexPath:indexPath animated:YES];
|
||
MineKanEditSec1firstCell *cell = [self.view viewWithTag:CELL_LIVEWNAMETAG];
|
||
[cell.roomNameFiled resignFirstResponder];
|
||
MineKanEditSec2SecCell *cell1 = [self.view viewWithTag:CELL_XUANYANTEXTVIEWTAG];
|
||
[cell1.xuanYanFiled resignFirstResponder];
|
||
|
||
if (indexPath.section == 0 && indexPath.section == 0) {
|
||
|
||
[self picImgHandler];
|
||
|
||
}else if (indexPath.section == 1 && indexPath.row == 0){
|
||
|
||
|
||
}else if (indexPath.section == 1 && indexPath.row == 1){
|
||
|
||
[self creatActionCameralistViewAt:indexPath];
|
||
|
||
}
|
||
|
||
|
||
}
|
||
-(void)creatActionCameralistViewAt:(NSIndexPath*)index
|
||
{
|
||
|
||
NSArray*cameraArr =[dataContorl getallCameras];
|
||
NSMutableArray*titles =[[NSMutableArray alloc] init];
|
||
NSMutableArray*cameIds =[[NSMutableArray alloc] init];
|
||
|
||
if (cameraArr.count ==0) {
|
||
|
||
[self.view makeToast:@"暂未绑定摄像头"];
|
||
return;
|
||
}
|
||
|
||
|
||
for (IfishCameraModel *camra in cameraArr) {
|
||
//判断是否激活
|
||
if ([camra.isActive isEqualToString:@"1"]) {
|
||
|
||
[titles addObject:camra.showName];
|
||
[cameIds addObject:camra.cameraId];
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (titles.count==0) {
|
||
|
||
[self.view makeToast:@"暂无可用摄像头"];
|
||
return;
|
||
}
|
||
|
||
LXActionView *sheetView=[[LXActionView alloc] initWithFrame:CGRectMake(0,0,kScreenSize.width,kScreenSize.height)];
|
||
[sheetView setOnlytitles:titles];
|
||
|
||
[sheetView showActionSheet];
|
||
|
||
sheetView.didSelectedAtIndexPath = ^(NSString *title,NSIndexPath *indexPath)
|
||
{
|
||
|
||
if (indexPath.row != titles.count +1) {
|
||
|
||
NSLog(@"indexPath%ld",(long)indexPath.row);
|
||
self.camraName = titles[indexPath.row];
|
||
self.camraID = cameIds[indexPath.row];
|
||
NSArray *arr=@[index];
|
||
|
||
[self.tableView reloadRowsAtIndexPaths:arr withRowAnimation:UITableViewRowAnimationNone];
|
||
//[self.tableView reloadData];
|
||
}
|
||
|
||
};
|
||
|
||
}
|
||
|
||
|
||
- (void)didReceiveMemoryWarning {
|
||
[super didReceiveMemoryWarning];
|
||
// Dispose of any resources that can be recreated.
|
||
}
|
||
|
||
-(void)viewWillAppear:(BOOL)animated{
|
||
//宣言
|
||
//[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(wifiviewkeyboradWillShow:) name:UIKeyboardWillChangeFrameNotification object:nil];
|
||
//房间名
|
||
// [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(wifiviewkeyboradWillShow:) name:UIKeyboardWillChangeFrameNotification object:nil];
|
||
|
||
|
||
}
|
||
-(void)viewWillDisappear:(BOOL)animated{
|
||
|
||
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil];
|
||
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];
|
||
}
|
||
|
||
|
||
|
||
-(void)wifiviewkeyboardWillHide:(NSNotification *)notify{
|
||
|
||
// 键盘动画时间
|
||
double duration = [[notify.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];
|
||
|
||
//视图下沉恢复原状
|
||
[UIView animateWithDuration:duration animations:^{
|
||
self.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
|
||
}];
|
||
|
||
}
|
||
|
||
-(void)wifiviewkeyboradWillShow:(NSNotification*)notification{
|
||
|
||
MineKanEditSec2SecCell *cell = [self.view viewWithTag:CELL_XUANYANTEXTVIEWTAG];
|
||
CGRect keyboardFrame = [notification.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
|
||
|
||
CGRect buttonRect = [cell.xuanYanFiled convertRect:cell.xuanYanFiled.bounds toView:self.view];
|
||
|
||
CGFloat buttonMargin =(buttonRect.origin.y + buttonRect.size.height + 10);
|
||
|
||
CGFloat transformY = keyboardFrame.origin.y - buttonMargin;
|
||
// 连贯
|
||
double duration = [[notification.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];
|
||
[UIView animateWithDuration:duration animations:^{
|
||
|
||
if (keyboardFrame.origin.y < self.view.frame.size.height) {
|
||
self.view.transform = CGAffineTransformMakeTranslation(0,transformY);
|
||
}else{
|
||
self.view.transform = CGAffineTransformMakeTranslation(0, 0);
|
||
}
|
||
}];
|
||
}
|
||
|
||
#pragma mar- textField代理
|
||
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
|
||
{
|
||
|
||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textkeyboradWillShow:) name:UIKeyboardWillChangeFrameNotification object:nil];
|
||
|
||
return YES;
|
||
}
|
||
|
||
-(void)textkeyboradWillShow:(NSNotification*)notification{
|
||
|
||
self.view.transform = CGAffineTransformMakeTranslation(0, 0);
|
||
|
||
}
|
||
|
||
#pragma mar- UITextView代理
|
||
-(BOOL)textViewShouldBeginEditing:(UITextView *)textView{
|
||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(wifiviewkeyboradWillShow:) name:UIKeyboardWillChangeFrameNotification object:nil];
|
||
|
||
return YES;
|
||
}
|
||
|
||
-(void)textViewDidEndEditing:(UITextView *)textView{
|
||
// self.navigationItem.rightBarButtonItem=nil;
|
||
[textView resignFirstResponder];
|
||
}
|
||
|
||
-(void)picImgHandler{
|
||
|
||
if (IFISHIOS8) {
|
||
UIAlertController*alertCT=[UIAlertController alertControllerWithTitle:@"获取图片" message:nil preferredStyle:UIAlertControllerStyleActionSheet];
|
||
// 判断是否支持相机 模拟器无相机
|
||
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
|
||
UIAlertAction*action=[UIAlertAction actionWithTitle:@"拍照" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
|
||
// 相机
|
||
UIImagePickerController *imagePicker=[[UIImagePickerController alloc]init];
|
||
imagePicker.delegate=self;
|
||
imagePicker.allowsEditing=YES;
|
||
imagePicker.sourceType=UIImagePickerControllerSourceTypeCamera;
|
||
[self presentViewController:imagePicker animated:YES completion:nil];
|
||
}];
|
||
[alertCT addAction:action];
|
||
}
|
||
|
||
UIAlertAction*action1=[UIAlertAction actionWithTitle:@"从相册选取" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
|
||
//相册
|
||
UIImagePickerController*imgpic=[[UIImagePickerController alloc]init];
|
||
imgpic.delegate=self;
|
||
imgpic.allowsEditing=YES;
|
||
|
||
imgpic.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;
|
||
[self presentViewController:imgpic animated:YES completion:nil];
|
||
|
||
}];
|
||
[alertCT addAction:action1];
|
||
|
||
UIAlertAction *cancelAction=[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
|
||
|
||
}];
|
||
[alertCT addAction:cancelAction];
|
||
[self presentViewController:alertCT animated:YES completion:nil];
|
||
|
||
}else{
|
||
|
||
|
||
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
|
||
self.photosheet=[[UIActionSheet alloc]initWithTitle:@"获取图片" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"拍照",@"从相册选择", nil];
|
||
self.photosheet.tag = PHOTOSHEET_TAG;
|
||
|
||
|
||
}
|
||
[self.photosheet showInView:self.view];
|
||
}
|
||
|
||
}
|
||
|
||
#pragma mark--UIActionSheetDelegate IOS7
|
||
|
||
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
|
||
if (actionSheet.tag == PHOTOSHEET_TAG) {
|
||
if (actionSheet==self.photosheet) {
|
||
if (buttonIndex==actionSheet.cancelButtonIndex) {
|
||
return;
|
||
}
|
||
NSUInteger sourceType=0;
|
||
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
|
||
|
||
|
||
switch (buttonIndex) {
|
||
case 0:
|
||
{
|
||
sourceType=UIImagePickerControllerSourceTypeCamera;
|
||
|
||
|
||
}
|
||
|
||
break;
|
||
case 1:
|
||
{
|
||
sourceType=UIImagePickerControllerSourceTypePhotoLibrary;
|
||
|
||
|
||
}
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
|
||
}else{
|
||
|
||
if (buttonIndex==1) {
|
||
sourceType=UIImagePickerControllerSourceTypeSavedPhotosAlbum;
|
||
}
|
||
}
|
||
// 转跳页面
|
||
UIImagePickerController*imgPic=[[UIImagePickerController alloc]init];
|
||
imgPic.delegate=self;
|
||
imgPic.allowsEditing=YES;
|
||
imgPic.sourceType=sourceType;
|
||
[self presentViewController:imgPic animated:YES completion:nil];
|
||
|
||
}
|
||
|
||
}else if (actionSheet.tag == DEVICESHEET_TAG){
|
||
//设备列表
|
||
if (buttonIndex==actionSheet.cancelButtonIndex) {
|
||
return;
|
||
}
|
||
}
|
||
}
|
||
|
||
#pragma mark --选取完成后调用方法
|
||
|
||
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{
|
||
|
||
[picker dismissViewControllerAnimated:YES completion:nil]
|
||
;
|
||
UIImage*img=[info objectForKey:UIImagePickerControllerEditedImage];
|
||
|
||
|
||
|
||
//UIImage *smallImage = [self scaleFromImage:img toSize:CGSizeMake(kScreenSize.width,kScreenSize.width*2/3)];
|
||
|
||
UIImage *smallImage = [dataContorl handleImage:img withSize:CGSizeMake(kScreenSize.width, kScreenSize.width*0.46)];
|
||
|
||
|
||
MineKanEditSec0ViewCell *cell = [self.view viewWithTag:CELL_LIVEWFACEVIEWTAG];
|
||
cell.liveFaceView.image = smallImage;
|
||
cell.tianJiaBtn.hidden= YES;
|
||
cell.tianJiaLabel.hidden = YES;
|
||
|
||
|
||
}
|
||
|
||
- (UIImage *) scaleFromImage: (UIImage *) image toSize: (CGSize) size
|
||
{
|
||
UIGraphicsBeginImageContext(size);
|
||
[image drawInRect:CGRectMake(0, 0, size.width, size.height)];
|
||
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
|
||
UIGraphicsEndImageContext();
|
||
return newImage;
|
||
}
|
||
|
||
|
||
- (UIImage *)thumbnailWithImageWithoutScale:(UIImage *)image size:(CGSize)asize
|
||
{
|
||
UIImage *newimage;
|
||
if (nil == image) {
|
||
newimage = nil;
|
||
}
|
||
else{
|
||
CGSize oldsize = image.size;
|
||
CGRect rect;
|
||
if (asize.width/asize.height > oldsize.width/oldsize.height) {
|
||
rect.size.width = asize.width*oldsize.height/oldsize.width;
|
||
// rect.size.height = asize.height*oldsize.height/oldsize.width;
|
||
rect.size.height = asize.width*oldsize.height/oldsize.width;
|
||
rect.origin.x = (asize.width - rect.size.width)/2;
|
||
|
||
rect.origin.y = 0;
|
||
}
|
||
else{
|
||
//rect.size.width = asize.width;
|
||
rect.size.width = asize.height*oldsize.width/oldsize.height;
|
||
rect.size.height = asize.height*oldsize.width/oldsize.height;
|
||
rect.origin.x = 0;
|
||
rect.origin.y = (asize.height - rect.size.height)/2;
|
||
|
||
}
|
||
UIGraphicsBeginImageContext(asize);
|
||
CGContextRef context = UIGraphicsGetCurrentContext();
|
||
CGContextSetFillColorWithColor(context, [[UIColor clearColor] CGColor]);
|
||
UIRectFill(CGRectMake(0, 0, asize.width, asize.height));//clear background
|
||
[image drawInRect:rect];
|
||
newimage = UIGraphicsGetImageFromCurrentImageContext();
|
||
UIGraphicsEndImageContext();
|
||
}
|
||
|
||
return newimage;
|
||
|
||
}
|
||
|
||
#pragma mark - addImgAction
|
||
|
||
-(void)addImgAction{
|
||
|
||
[self picImgHandler];
|
||
}
|
||
|
||
#pragma mark-shareBtnAction
|
||
|
||
-(void)shareBtnAction:(UIButton*)btn{
|
||
NSLog(@"self.isLive%@",self.isLive);
|
||
btn.selected =!btn.selected;
|
||
if (btn.selected) {
|
||
|
||
self.isLive = @"1";
|
||
|
||
}else{
|
||
self.isLive = @"0";
|
||
|
||
}
|
||
|
||
NSLog(@"self.isLive%@",self.isLive);
|
||
}
|
||
|
||
#pragma mark - tijiaoZiLiao
|
||
|
||
-(void)tijiaoZiLiao:(UIButton *)btn{
|
||
|
||
if (btn.selected) {
|
||
return;
|
||
}
|
||
btn.selected = YES;
|
||
//5秒后又可以处理点击事件 防止多次
|
||
[self performSelector:@selector(timeEnough) withObject:nil afterDelay:3.0];
|
||
|
||
NSString *userId =[dataContorl dataControlGetUserIdInfo];
|
||
|
||
MineKanEditSec2SecCell *cell = [self.view viewWithTag:CELL_XUANYANTEXTVIEWTAG];
|
||
MineKanEditSec0ViewCell *cell2 = [self.view viewWithTag:CELL_LIVEWFACEVIEWTAG];
|
||
if (!self.camraID) {
|
||
|
||
[self.view makeToast:@"请选择摄像头"];
|
||
return;
|
||
}
|
||
|
||
if ( cell.xuanYanFiled.text.length>70) {
|
||
|
||
[self.view makeToast:@"宣言不能超过70字"];
|
||
|
||
return;
|
||
}
|
||
|
||
if ( cell.xuanYanFiled.text.length==0) {
|
||
|
||
[self.view makeToast:@"宣言不能为空"];
|
||
|
||
return;
|
||
}
|
||
|
||
|
||
if (!cell2.liveFaceView.image) {
|
||
|
||
[self.view makeToast:@"请添加封面"];
|
||
|
||
return;
|
||
}
|
||
|
||
MineKanEditSec1firstCell *cell3 = [self.view viewWithTag:CELL_LIVEWNAMETAG];
|
||
|
||
if (cell3.roomNameFiled.text.length ==0) {
|
||
|
||
[self.view makeToast:@"请给房间起个名字"];
|
||
|
||
return;
|
||
|
||
}
|
||
if (cell3.roomNameFiled.text.length >20) {
|
||
|
||
[self.view makeToast:@"房间名不能超过20字"];
|
||
|
||
return;
|
||
|
||
}
|
||
|
||
if (self.roomInfoinfo) {
|
||
|
||
if (!self.isLive) {
|
||
|
||
self.isLive = @"0";
|
||
}else{
|
||
if ([self.isLive isEqualToString:@"2"]) {
|
||
|
||
[self.view makeToast:@"由于您分享的内容不符合规范,您的分享已经被关闭,如需重新开启请联系客服。"];
|
||
return;
|
||
}
|
||
}
|
||
|
||
|
||
|
||
[self updateLiveRoomWith:self.camraID userId:userId roomId:self.roomInfoinfo.roomId isLive:self.isLive roomName:cell3.roomNameFiled.text roomDesc:cell.xuanYanFiled.text upLoadFile:cell2.liveFaceView.image];
|
||
|
||
}else{
|
||
|
||
if (!self.isLive) {
|
||
|
||
self.isLive = @"0";
|
||
|
||
}else{
|
||
if ([self.isLive isEqualToString:@"2"]) {
|
||
|
||
[self.view makeToast:@"由于您分享的内容不符合规范,您的分享已经被关闭,如需重新开启请联系客服。"];
|
||
return;
|
||
}
|
||
}
|
||
|
||
[self addLiveRoom:self.camraID userId:userId isLive:self.isLive roomName:cell3.roomNameFiled.text roomDesc:cell.xuanYanFiled.text upLoadFile:cell2.liveFaceView.image];
|
||
}
|
||
|
||
|
||
}
|
||
|
||
-(void)timeEnough
|
||
{
|
||
MineKanEditSec2ThredCell *cell =[self.view viewWithTag:CELL_TIJIAOTAG];
|
||
|
||
cell.baoCunBtn.selected=NO;
|
||
|
||
}
|
||
|
||
#pragma mark- 新增直播间
|
||
//islive 为直播间状态
|
||
-(void)addLiveRoom:(NSString*)cameaId userId:(NSString*)userId isLive:(NSString *)isLive roomName:(NSString *)roomName roomDesc:(NSString *)roomdesc upLoadFile:(UIImage*)upLoadFile{
|
||
|
||
|
||
[AFHttpTool addLiveRoombyUserId:userId cameraId:cameaId isLive:isLive roomName:roomName roomDec:roomdesc upLoadFile:upLoadFile name:@"fileUpload" success:^(id response) {
|
||
NSDictionary *reDic=[NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers error:nil];
|
||
|
||
if ([reDic[@"result"] isEqualToString:@"100"]) {
|
||
[self.view makeToast:@"提交成功"];
|
||
_saved = YES;
|
||
[self saveNewCameraIhfo:reDic];
|
||
//开启摄头像加金币 加金币
|
||
if (isLive) {
|
||
if ([isLive isEqualToString:@"1"]) {
|
||
[[IfishUserObsever sharedInstance] addGoldWith:OPENSHARECAMERA addType:IFISHADDGOLDTYPE1];
|
||
}
|
||
}
|
||
|
||
}else if ([reDic[@"result"] isEqualToString:@"206"]){
|
||
|
||
[self.view makeToast:@"上传封面不能大于1M"];
|
||
}
|
||
|
||
} failure:^(NSError *err) {
|
||
|
||
NSLog(@"self.roomSatus2%@",self.roomSatus);
|
||
|
||
}];
|
||
|
||
}
|
||
|
||
#pragma mark - 修改直播间信息
|
||
|
||
-(void)updateLiveRoomWith:(NSString*)cameaId userId:(NSString*)userId roomId:(NSString *)roomId isLive:(NSString *)isLive roomName:(NSString *)roomName roomDesc:(NSString *)roomdesc upLoadFile:(UIImage*)upLoadFile{
|
||
|
||
[AFHttpTool updateLiveRoomCameraId:cameaId userId:userId roomId:roomId isLive:isLive roomName:roomName roomDesc:roomdesc upLoadFile:upLoadFile name:@"fileUpload" success:^(id response) {
|
||
|
||
NSDictionary *reDic=[NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers error:nil];
|
||
if ([reDic[@"result"] isEqualToString:@"100"]) {
|
||
[self saveCameraIhfo:reDic];
|
||
_saved = YES;
|
||
[self.view makeToast:@"提交成功"];
|
||
_getInfTimer = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(delayDissMiss) userInfo:nil repeats:NO];
|
||
|
||
//开启摄头像加金币 加金币
|
||
if (isLive) {
|
||
if ([isLive isEqualToString:@"1"]) {
|
||
[[IfishUserObsever sharedInstance] addGoldWith:OPENSHARECAMERA addType:IFISHADDGOLDTYPE1];
|
||
}
|
||
}
|
||
|
||
}else if ([reDic[@"result"] isEqualToString:@"206"]){
|
||
|
||
[self.view makeToast:@"上传封面不能大于1M"];
|
||
}else if ([reDic[@"result"] isEqualToString:@"214"]){
|
||
|
||
[self.view makeToast:@"摄像头已经在直播"];
|
||
}
|
||
|
||
} failure:^(NSError *err) {
|
||
|
||
|
||
}];
|
||
|
||
}
|
||
|
||
-(void)delayDissMiss{
|
||
[_getInfTimer invalidate];
|
||
_getInfTimer = nil;
|
||
[self.navigationController popViewControllerAnimated:YES];
|
||
}
|
||
|
||
#pragma mark - 新增
|
||
-(void)saveNewCameraIhfo:(NSDictionary *)reDic{
|
||
|
||
NSDictionary *dic = reDic[@"data"];
|
||
NSString *cameraID = nil;
|
||
NSString *isAlive = nil;
|
||
cameraID = dic[@"cameraId"];
|
||
isAlive = dic[@"isLive"];
|
||
//找到对应摄像头修改摄像头isLive 状态
|
||
NSArray*cameraArr =[dataContorl getallCameras];
|
||
NSMutableArray *newArr=[[NSMutableArray alloc] init];
|
||
|
||
for (IfishCameraModel *camera in cameraArr) {
|
||
|
||
if ([camera.cameraId isEqualToString:cameraID]) {
|
||
|
||
camera.isLive = isAlive;
|
||
}
|
||
[newArr addObject:camera];
|
||
}
|
||
//保存
|
||
[dataContorl saveCameraArr:newArr];
|
||
|
||
}
|
||
#pragma mark - 修改
|
||
|
||
|
||
-(void)saveCameraIhfo:(NSDictionary *)reDic
|
||
{
|
||
NSArray *dicA = reDic[@"data"];
|
||
NSString *cameraID = nil;
|
||
NSString *isAlive = nil;
|
||
for (NSDictionary *dic in dicA) {
|
||
cameraID = dic[@"cameraId"];
|
||
isAlive = dic[@"isLive"];
|
||
|
||
}
|
||
//找到对应摄像头修改摄像头isLive 状态
|
||
NSArray*cameraArr =[dataContorl getallCameras];
|
||
NSMutableArray *newArr=[[NSMutableArray alloc] init];
|
||
|
||
for (IfishCameraModel *camera in cameraArr) {
|
||
|
||
if ([camera.cameraId isEqualToString:cameraID]) {
|
||
|
||
camera.isLive = @"1";
|
||
|
||
}else{
|
||
|
||
camera.isLive = @"0";
|
||
}
|
||
[newArr addObject:camera];
|
||
}
|
||
//保存
|
||
[dataContorl saveCameraArr:newArr];
|
||
}
|
||
|
||
#pragma mark--UITextViewDelegate
|
||
// 设置textView的默认提示文字
|
||
-(void)textViewDidChange:(UITextView *)textView{
|
||
|
||
MineKanEditSec2SecCell *cell = [self.view viewWithTag:CELL_XUANYANTEXTVIEWTAG];
|
||
if (textView.text.length ==0) {
|
||
[cell.plachoderlabel setHidden:NO];
|
||
|
||
}else{
|
||
[cell.plachoderlabel setHidden:YES];
|
||
}
|
||
}
|
||
|
||
|
||
@end
|