Несколько изображений в UITableViewCell с действием, прикрепленным в iPhone - PullRequest
0 голосов
/ 03 января 2012

Я хочу показать несколько изображений в каждой ячейке TableView, поступающей с сервера, и я не знаю точное количество изображений в каждой ячейке таблицы.Также, когда пользователь нажимает на любое из изображений, оно увеличивает масштаб другого контроллера представления.Мой вопрос заключается в том, как создать такую ​​таблицу с динамической высотой и узнать, какие изображения используются для увеличения.Спасибо

Ответы [ 3 ]

2 голосов
/ 03 января 2012

Я разработал ту же таблицу, над которой вы сейчас работаете.

Для этого я взял UIScrollview в каждой ячейке таблицы, чтобы изображения, поступающие с сервера, отображались в scrollview.

И для отображения изображений внутри прокрутки я выбрал UIButton, чтобы я мог определить, какое изображение было нажато.

Это основная идея, что я делаю.

Наслаждайтесь!

1 голос
/ 03 января 2012

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

В Интернете доступно множество обучающих программ по настройке вида сетки в ios.

Вот ссылка, с которой можно начать. Надеюсь, это поможет.

http://xebee.xebia.in/2011/04/14/building-editable-gridview-for-iphone-apps/

0 голосов
/ 03 января 2012

Вот и мы: вам нужна пользовательская ячейка для хранения массива фотографий.

Для отслеживания касания вам нужен пользовательский UIImageView.Для этого у вас есть 2 варианта: вы добавляете кнопку сверху или используете -touchesBegan (см. Ниже).

Теперь, когда вы нажимаете на картинку, она скажет своему родителю (ячейке), какая фотография была нажата.Ячейка будет пересылать информацию в RootViewController (класс с UITableView), также добавляя себя к информации.

Необходимые классы:

  • RootViewController (здесь не реализовано)
  • Ячейка
  • CustomImageView

// Cell.h

import UIKit / UIKit.h

@class RootViewController;   
@class CustomImageView;

@interface Cell : UITableViewCell 
{
RootViewController *parent;
IBOutlet UIView *baseView;  //I use this instead of content view; is more ..mutable
NSMutableArray *photosArray;
double cellHeight;    
}   

@property (nonatomic, assign) RootViewController *parent;   
@property (nonatomic, retain) UIView *baseView;    
@property (nonatomic, retain) NSMutableArray *photosArray;    
@property double cellHeight;


(void) didClickPhoto: (CustomImageView*) image;    

@end
//Cell.m

import "Cell.h"

@implementation Cell 

@synthesize baseView, photosArray, cellHeight, parent;

- (void) didClickPhoto: (CustomImageView*) image 
{
    unsigned indexOfSelectedPhoto = [photosArray indexOfObject:image];
    //this will allow you to reffere the pressed image;

    [parent didClickPhotoAtIndex: indexOfSelectedPhoto inCell: self];
    //you will inplement this function in RootViewController 
} 

@end

CustomImageView.h

#import <UIKit/UIKit.h>
#import "Cell.h"

@interface CustomImageView : UIImageView {
    Cell *parent;
}

@property (nonatomic, assign) Cell *parent;
@end

CustomImageView.m

#import "CustomImageView.h"


@implementation CustomImageView
@synthesize parent;

- (void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
    [parent didClickPhoto:self];
}
@end

И это будет самый длинный ответ, который я когда-либо писал !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...