1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xiao66guo-XGCustomCamera

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 4.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 03.12.2024 02:55 3bb017e

XGCustomCamera

Реализация функции фотосъёмки с помощью полностью настраиваемой камеры, а также добавление подписи перед съёмкой, изменение размера и цвета текста подписи, переключение между передней и задней камерами и обмен сделанными фотографиями.

Описание функций проекта: 1️⃣ Реализация функции фотосъёмки через полностью настраиваемую камеру; 2️⃣ Добавление возможности добавлять подпись к фотографии перед съёмкой; 3️⃣ Выбор размера шрифта подписи через PopOver; 4️⃣ Выбор цвета шрифта подписи через PopOver; 5️⃣ Управление доступностью кнопок «Подпись», «Размер шрифта» и «Цвет шрифта» в зависимости от завершения съёмки; 6️⃣ Переключение между передней и задней камерой через кнопку «Переворот камеры»; 7️⃣ Интеграция ShareSDK для обмена сделанными фотографиями с подписью; 8️⃣ Скрытие и отображение пользовательской камеры через нажатие кнопки «Закрыть»; 9️⃣ Сохранение сделанных фотографий в фотоплёнку; 🔟 Обобщение и выделение указанных функций для отдельного использования, требуется только импортировать заголовочный файл для управления макетом контроллера.

Код, реализованный в главном контроллере:

//
//  XGMainViewController.m
//  XGCustomCamera
//
//  Created by 小果 on 2016/12/6.
//  Copyright © 2016年 小果. All rights reserved.
//

#import "XGMainViewController.h"
#import "XGCameraController.h"
@implementation XGMainViewController{
    UIButton    *_openCameraBtn;
}
- (void)viewDidLoad {
    [super viewDidLoad];
    [self setupOpenCameraBtn];
}
-(void)setupOpenCameraBtn{
    _openCameraBtn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 200, 150)];
    _openCameraBtn.center = self.view.center;
    [self.view addSubview:_openCameraBtn];
    [_openCameraBtn setImage:[UIImage imageNamed:@"Camera"] forState:UIControlStateNormal];
    [_openCameraBtn addTarget:self action:@selector(openCamera) forControlEvents:UIControlEventTouchUpInside];
}
-(void)openCamera{
    XGCameraController *cameraVC = [XGCameraController new];
    [self presentViewController:cameraVC animated:YES completion:nil];
}
@end

Код для реализации выбора размера шрифта и цвета через PopOVer:

-(void)xg_addChangeSignWithFontColor:(UIButton *)sender{
    XGSwitchColorController *switchColor = [XGSwitchColorController new];
    switchColor.xg_BgColor = ^(UIColor *cellColor){
        _waterLable.textColor = cellColor;
        _popSwitchFontColor = cellColor;
    };
    [self xg_setupPopViewWithAttribute:switchColor andView:sender];
}
-(void)xg_changeSignatureWithFontSize:(UIButton *)sender{
    XGSwitchFontSizeController *switchSize = [XGSwitchFontSizeController new];
    switchSize.xg_FontSize = ^(NSInteger fontSize){
        _waterLable.font = [UIFont systemFontOfSize:fontSize];
        textSize = fontSize;
    };
    [self xg_setupPopViewWithAttribute:switchSize andView:sender];
}
-(void)xg_setupPopViewWithAttribute:(UIViewController *)vc andView:(UIView *)view{
    vc.modalPresentationStyle = UIModalPresentationPopover;
    vc.preferredContentSize = CGSizeMake(60, 200);
    vc.popoverPresentationController.delegate = self;
    vc.popoverPresentationController.sourceView = view;
    vc.popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionDown;
    CGSize size = view.bounds.size;
    vc.popoverPresentationController.sourceRect = CGRectMake(size.width * 0.5, -5, 0, 0);
    [self presentViewController:vc animated:YES completion:nil];
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/xiao66guo-XGCustomCamera.git
git@api.gitlife.ru:oschina-mirror/xiao66guo-XGCustomCamera.git
oschina-mirror
xiao66guo-XGCustomCamera
xiao66guo-XGCustomCamera
master