Форум программистов, компьютерный форум CyberForum.ru

Неизвестный объект занимает всю область ячейки UITableViewCell - Objective-C

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Objective-C Обработка пуша http://www.cyberforum.ru/objective-c/thread1253227.html
Всм доброго времени суток, вот возникла проблемма, не могу найти рабочее решение, картина такая, мне сервер присылает пуш с определенным типом, я проверяю тип пуша и по нему через локальную нотификацию выполняю какое либо действие, все работает только в состоянии активного приложения, если приложение свернуто либо выключено действия не происходит, если свернуто и приходит пуш по нажатию на пуш...
Objective-C Xcode error thread 1 signal sigabrt (прокручиваемый список) Ребят только начинаю программировать, делаю все по примеру в книге, но каждый ра какие то проблемы, которые там не описаны, как будто все сразу должно получиться. В моем случае программа каждый раз экстренно прерывается, с чем может быть это связано? http://www.cyberforum.ru/objective-c/thread1251955.html
Работа с сокетом и сворачивание приложения Objective-C
В обработчике события таймера я периодически отправляю некие данные в строке string броадкастом примерно вот так: NSString * address = @"255.255.255.255"; UInt16 port = 888888; NSData * data = ; ; Все отлично, пока я не сворачиваю свое приложение, нажав кнопку домой. После запуска приложения событие таймера обрабатываются, но вот данные уже не отправляются. Приходится...
Запретить блокировку экрана в момент работы приложения Objective-C
Здравствуйте! При работе моего приложения в основном используется акселерометр, на экран почти нет касаний. Как программно запретить IOS лочить (блокировать) экран при запущенном приложении? Добавлено через 10 минут Простите, вроде бы нашел сам: .idleTimerDisabled = NO; .idleTimerDisabled = YES;
Objective-C Референция в Objective-C http://www.cyberforum.ru/objective-c/thread1247344.html
Всем привет. Многие, кто пишет на Java, знают, что там есть возможность передавать референцию на объекты между классами. Делегирование в общем. То есть что-то вроде: Class Aaa { Bbb reference; public Aaa (Bbb reference) { this.reference = reference;
Objective-C Хранение значения переменной "онлайн" Всем привет! Такой вопрос - нужно, чтобы значение некоторой переменной отображалось одновременно у всех пользователей приложения. Видел такую фишку в игре To The End - там внизу экрана есть счетчик людей, прошедших игру до конца. Мне нужно примерно то же самое, но как это реализовать - я не нашел( Есть класс NSUserDefaults, но с помощью него, как я понял, можно хранить данные только в... подробнее

Показать сообщение отдельно
vitalik_a
4 / 4 / 1
Регистрация: 11.09.2014
Сообщений: 81
12.09.2014, 11:31  [ТС]     Неизвестный объект занимает всю область ячейки UITableViewCell
вот tableView:cellForRowAtIndexPath, я в нём вызываю ещё один метод так как будут разные типы ячеек
Кликните здесь для просмотра всего текста

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    //
    NSLog(@"Вызван метод NewsMainViewController::cellForRowAtIndexPath");
    //
    static NSString *CellIdentifier = @"Cell Identifier";
    // Создаём указатель на ячейку
    NewsTableViewCell *cell = nil;
    //
    [tableView registerClass:[NewsTableViewCell class] forCellReuseIdentifier:CellIdentifier];
    //
    cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    // Если это наша таблица
    if ([tableView isEqual:self.tableView])
    {
        //
        if (indexPath.section == 0 && indexPath.row == 0)
        {
            //
            cell = [self tableView: tableView cellMainNews: cell ForRowAtIndexPath:indexPath];
        }
    }
    // Возвращаем указатель на объект ячейки
    return cell;
}
 
 
// Метод создаёт ячейку с главной новостью на главной странице
- (NewsTableViewCell *)tableView:(UITableView *)tableView cellMainNews: (NewsTableViewCell *)cell ForRowAtIndexPath:(NSIndexPath *)indexPath
{
    // Высота картинки
    CGFloat imageHeight = 0;
    // Если есть картинка новости
    if (self.model.newsMainItem.image != nil)
    {
        // Вычисляем ширину картинки по ширине таблицы
        CGFloat imageWidh = self.tableView.contentSize.width;
        // Вычисляем пропорциональную высоту картинки
        imageHeight = self.tableView.contentSize.width / self.model.newsMainItem.image.size.width * self.model.newsMainItem.image.size.height;
        // Создаём объект представления картинки
        cell.image.frame = CGRectMake(0, 0, imageWidh, imageHeight);
        // Устанавливаем масштабирование картинки
        cell.image.contentMode = UIViewContentModeScaleAspectFill;
        // Устанвливаем картинку
        cell.image.image = self.model.newsMainItem.image;
    }
    else
    {
        // Загружаем картинку
        [self.model.newsMainItem loadImage];
    }
    // Высота заголовка
    CGFloat titleLabelHeight = 0;
    // Устанавливаем текст заголовка
    cell.title.text = self.model.newsMainItem.title;
    //
    titleLabelHeight = [self expectedLabelSize:cell.title maximumLabelSize:CGSizeMake(320, 640)];
    //
    cell.title.frame = CGRectMake(0, imageHeight, 320, titleLabelHeight);
    // Высота заголовка
    CGFloat createdLabelHeight = 0;
    // Устанавливаем текст заголовка
    cell.created.text = self.model.newsMainItem.created;
    //
    createdLabelHeight = [self expectedLabelSize:cell.created maximumLabelSize:CGSizeMake(320, 640)];
    //
    cell.created.frame = CGRectMake(0, imageHeight + titleLabelHeight, 320, createdLabelHeight);
    // Возвращаем указатель на объект ячейки
    return cell;
}
а это переопределённый метод класса NewsTableViewCell
Кликните здесь для просмотра всего текста

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    //
    NSLog(@"Вызван метод NewsTableViewCell::initWithStyle");
    //
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    //
    self.image = [[UIImageView alloc] init];
    // Добавляем картинку в ячейку
    [self addSubview:self.image];
    //
    self.title = [[UILabel alloc] init];
    //
    self.title.numberOfLines = 0;
    // Добавляем загловок в ячейку
    [self addSubview:self.title];
    //
    self.created = [[UILabel alloc] init];
    //
    self.title.numberOfLines = 0;
    // Добавляем дату создания в ячейку
    [self addSubview:self.created];
    //
    return self;
}


Добавлено через 10 часов 6 минут
если надо я могу сократить код tableView:cellForRowAtIndexPath до нескольких строк
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru