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

OSCHINA-MIRROR/leeszi-CellLayout

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

CellLayout

CI Status

Version

License

Platform

说明

В разработке iOS UI является довольно трудоёмкой задачей, а появление storyboard может значительно повысить производительность и не вызвать серьёзных проблем с производительностью. Однако использование storyboard всё ещё недостаточно удобно, и этот компонент предназначен для проектирования на основе TableView.

Примеры

  1. Перетащите желаемый пользовательский интерфейс в storybaord и установите информацию об автоматическом макете, как показано на рисунке:

storybaord

  1. Создайте свою ViewModel, код выглядит следующим образом:
#import "DemoViewModel.h"
#import "CellLayoutStorage.h"
#import "CellLayoutManager.h"
#import "CellLayoutSection.h"
#import "DemoTableViewCell.h"
#import <ReactiveCocoa/ReactiveCocoa.h>

#import <ReactiveCocoa/RACEXTScope.h>
#import "CellLayoutTableHeader.h"

@implementation DemoViewModel

- (instancetype)init {
    self = [super init];
    if (self) {
        self.dataSource = @[
                            @"飞鸟集》是印度诗人泰戈尔的代表作之一,也是世界上最杰出的诗集之一,它包括325首清丽的无标题小诗。白昼和黑夜、溪流和海洋、自由和背叛,都在泰戈尔的笔下合二为一,短小的语句道出了深刻的人生哲理,引领世人探寻真理和智慧的源泉。",
                            @"《飞鸟集》创作于1913年,初版于1916年完成。《飞鸟集》其中的一部分由诗人译自自己的孟加拉文格言诗集《碎玉集》(1899),另外一部分则是诗人1916年造访日本时的即兴英文诗作。诗人在日本居留三月有余,不断有淑女求其题写扇面或纪念册。诗人曾经盛赞日本俳句的简洁,他的《飞鸟集》显然受到了这种诗体的影响。[2] "
                            ];

        self.viewDidLoad = ^(UIViewController *parent) {
            NSLog(@"view did load");
        };
    }
    return self;
}

//通过实现方法里面的布局信息,来定制自己的UI
- (void)buildLayoutStorage {

    @weakify(self);

    CellLayoutStorage *storage = [[CellLayoutStorage alloc] init];


    CellLayoutTableHeader *header = [[CellLayoutTableHeader alloc] init];
    header.height = 500;
    header.configHeader = ^(UIView *view, UIViewController *parent){
        view.backgroundColor = [UIColor colorWithRed:0.6824 green:0.1091 blue:0.1599 alpha:1.0];
    };

    storage.tableHeader = header;

    [storage newSectionWithTitle:@"文章标题" headerHeight:19 footerHeight:1];

    [storage newLayoutManagerWithIdentifier:@"DemoTableViewCell"];

    storage.layoutManager.configCell = ^(__weak UITableViewCell *cell, UIViewController *parent) {
        @strongify(self);
        DemoTableViewCell *c = (DemoTableViewCell *)cell;
        c.dynamicLabel.text = self.dataSource[0];
    };

    [storage newLayoutManagerWithIdentifier:@"DemoTableViewCell"];
    storage.layoutManager.configCell = ^(__weak UITableViewCell *cell, UIViewController *parent) {
        @strongify(self);
        DemoTableViewCell *c = (DemoTableViewCell *)cell;
        c.dynamicLabel.text = self.dataSource[1];
    };

    self.storage = storage;
}

@end
  1. Затем напрямую создайте LayoutController, используя следующий код:
DemoViewModel *model = [[DemoViewModel alloc] init];
 LayoutController *controller = [LayoutController instantiateWithStoryboardName:@"Table" viewModel:model];
 [self.navigationController pushViewController:controller animated:YES];

Требования

Требуется iOS 7.0 или более поздняя версия

Установка

CellLayout доступен через CocoaPods. Чтобы установить его, просто добавьте следующую строку в свой Podfile:

pod "CellLayout"

Автор

LiuZhen, lazy66@me.com

Лицензия

CellLayout распространяется по лицензии MIT. Дополнительную информацию см. в файле LICENSE.

Комментарии ( 0 )

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

Введение

Данный компонент является расширением storyboard, которое позволяет удобно использовать storyboard для создания сложных страниц на основе UITableView. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/leeszi-CellLayout.git
git@api.gitlife.ru:oschina-mirror/leeszi-CellLayout.git
oschina-mirror
leeszi-CellLayout
leeszi-CellLayout
master