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

OSCHINA-MIRROR/MengLiMing-MLMSegmentPage

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

MLMSegmentPage

Управление контроллерами или представлениями.

  • Быстрая интеграция в верхнюю панель меню.
  • Разделение на MLMSegementHead и MLMSegmenScroll для более гибкой настройки.
  • Использование NSCache для статистики загрузки страниц.

Эффект:

  • Создание собственного ViewController с низкой связанностью, реализация конкретных операций в собственном ViewController.
  • Прямое создание UIView и добавление его в представление.
  • Выбор разных стилей в зависимости от требований, возможность индивидуальной настройки эффектов.
  • Настройка страницы, которая отображается при первом входе.
  • Установка количества страниц, загружаемых при первом входе, и количества страниц, сохраняемых во время прокрутки.

Стили:

// Стили
typedef enum : NSUInteger {
    /**
     *  По умолчанию
     */
    SegmentHeadStyleDefault,
    /**
     *  Линия (подчеркивание)
     */
    SegmentHeadStyleLine,
    /**
     *  Стрелка
     */
    SegmentHeadStyleArrow,
    /**
     *  Слайд (ползунок)
     */
    SegmentHeadStyleSlide
} MLMSegmentHeadStyle;

// Стили макета
typedef enum : NSUInteger {
    /*
     * По умолчанию равномерное распределение, расчет ширины на основе maxTitles и равномерное распределение
     */
    MLMSegmentLayoutDefault,

    /*
     * Центрирование (выбор стиля при недостаточном количестве заголовков для заполнения экрана, в противном случае установка слева)
     */
    MLMSegmentLayoutCenter,
    /*
     * Выравнивание по левому краю
     */
    MLMSegmentLayoutLeft
} MLMSegmentLayoutStyle;

Предварительный просмотр некоторых стилей:

Изображения:

  • Center_Line.gif
  • Center_Slide.gif
  • Left_Slide.gif
  • Left_Line.gif
  • Center_Default.gif
  • Center_Arrow.gif
  • Default_Line.gif
  • Default_Slide.gif.

Установка:

Перетащите MLMSegmentPageView в проект Xcode.

Использование: Добавьте MLMSegmentManager.h в проект и выполните код.

Базовые настройки:

MLMSegmentHead *segHead = [[MLMSegmentHead alloc] initWithFrame:CGRectMake(0, 64, SCREEN_WIDTH, 40) titles:list headStyle:_style layoutStyle:_layout];

MLMSegmentScroll *segScroll = [[MLMSegmentScroll alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(_segHead.frame), SCREEN_WIDTH, SCREEN_HEIGHT-CGRectGetMaxY(_segHead.frame)) vcOrViews:[self vcArr:list.count]];

[MLMSegmentManager associateHead:segHead withScroll:segScroll completion:^{
    [self.view addSubview:segHead];
    [self.view addSubview:segScroll];
}];

Загрузка страниц во время скольжения:

  • По умолчанию при первом входе загружается только текущая отображаемая страница, то есть segScroll.loadAll = NO;
  • По умолчанию во время скольжения максимальное количество кэшированных страниц — это все страницы, то есть segScroll.countLimit = vcsOrviews.count; то есть segScroll.loadAll = .

Другие настройки:

  • Конкретные настройки см. в коде.
  • Обратите внимание, что необходимо создать MLMSegmentHead и MLMSegmentScroll и использовать MLMSegmentManager для связывания двух представлений. В блоке установите операцию addSubView:.

Будущие дополнения:

  • Добавление пользовательских классов кнопок для более сложных меню в верхней части.
  • Добавление moreButton для добавления и удаления данных источника меню в верхней части.

Обратная связь: Если вы обнаружите какие-либо ошибки или у вас есть предложения по улучшению во время использования, пожалуйста, сообщите мне через issue или отправьте электронное письмо на адрес 920459250@qq.com.

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

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

Введение

Быстрый интеграцию верхнего меню. Развернуть Свернуть
Отмена

Обновления

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

Участники

все

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

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