Как создать массив для настроек (Obj C)?

Я хотел бы вдохновиться приложением для создания таблицы с настройками для моего приложения. Но я не знаю, как использовать диаграммы в Objective C. Может кто-то помочь мне, пожалуйста? Есть изображения, которые помогут вам разглядеть интерфейс.

Вкладка настроек 1

Как создать массив для настроек (Obj C)?

Настройки Вкладка 2

Как создать массив для настроек (Obj C)?

Собираетесь ли вы сгруппировать параметры настройки?

RyanB 25.10.2018 10:00

Я еще не знаю. Что вы порекомендуете ?

pilou 25.10.2018 10:37

вы можете предложить решение или дать мне веб-сайт, который объясняет, чего я хочу? Благодарность

pilou 25.10.2018 10:41

Ваш вопрос немного неясен, я только что предположил, какие изображения вы предоставили.

RyanB 25.10.2018 10:41

Опять же, вы хотите, чтобы ваш вид настроек был точно таким же, как изображения, которые вы только что разместили здесь?

RyanB 25.10.2018 10:43

Да желаю точно того же. Если это возможно

pilou 25.10.2018 10:45

Да, ты можешь. Я показываю вам небольшой пример.

RyanB 25.10.2018 11:10

Спасибо большое, это очень мило. Если хотите, я могу дать вам свой адрес электронной почты и отправить его мне по почте, если хотите.

pilou 25.10.2018 11:13
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
8
55
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вот очень быстрый пример, демонстрирующий, как сделать табличное представление точно таким же, как и ваши изображения:

Во-первых, давайте спроектируем наш пользовательский интерфейс:

  1. Установите Style из UITableView на Grouped
  2. Установите значение Prototype Cells на 1, перетащите UIImageView и UILabel в только что добавленную ячейку прототипа, затем установите соответствующие ограничения по своему усмотрению.
  3. Назначьте Cell Icon значение 100 в его атрибуте tag и сделайте то же самое, но 101 для Cell Title.
  4. Создайте розетки dataSource и delegate для вашего UITableView

Теперь вернемся к кодированию. Выскажите свое мнение о реализации делегатов UITableView:

@interface ViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
@end

Затем реализуйте соответствующие делегаты:

@implementation ViewController {
    NSArray *images;
    NSArray *titles;
    NSArray *sections;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    images = @[@"history", @"profile", @"quote", @"search", @"post_count", @"star"];
    titles = @[@"General", @"Format", @"Unit", @"Import/Export", @"Update", @"Support"];
    sections = @[@"Preferences", @"Data", @""];
}

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 3;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return 2;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];

    UIImageView *imageView = [cell viewWithTag:100];
    UILabel *label = [cell viewWithTag:101];

    int index = (int)(indexPath.item + (indexPath.section * 2));
    imageView.image = [UIImage imageNamed:[images objectAtIndex:index]];
    label.text = [titles objectAtIndex:index];

    return cell;
}

-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
    return [sections objectAtIndex:section];
}

-(NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section {
    if (section == 2) {
        return @"This is the section's footer title\nCoded by RyanB@StackOverflow";
    }

    return nil;
}

Все сделано. Теперь создайте проект и запустите его, чтобы увидеть результат.

Другие вопросы по теме