#iphone #uitableview
#iPhone #uitableview
Вопрос:
Я хочу иметь только одну ячейку uitableview, которая может отображать по горизонтали столько изображений, сколько она получает с сервера. Но проблема в том, что в настоящее время я получаю, скажем, 15 изображений с сервера, а ячейка отображает только первые 6 изображений и не отображает остальные 9 изображений. Тем не менее, я вижу, что горизонтальный скроллер прокручивается до конца, поскольку я увеличил размер содержимого в соответствии с размером 15 изображений. Ниже приведен код (для целей тестирования я извлекаю изображение из папки ресурсов вместо получения с сервера).
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}
CGFloat imageXCordinate = 0.0;
int i =0;
for(i=0; i < 15; i )
{
NSString *filePathForIconPhotoImage = [[NSBundle mainBundle] pathForResource:@"icon_photo" ofType:@"png"];
UIImage *iconPhoto = [[UIImage alloc] initWithContentsOfFile:filePathForIconPhotoImage];
UIImageView *vwIcon=[[UIImageView alloc] initWithFrame:CGRectMake(imageXCordinate,2,iconPhoto.size.width,iconPhoto.size.height) ] ;
vwIcon.image =iconPhoto;
[cell.contentView addSubview:vwIcon];
[vwIcon release];
[iconPhoto release];
imageXCordinate = imageXCordinate basePhoto.size.width;
}
[tableView setContentSize:CGSizeMake((basePhoto.size.width * i, tableView.frame.size.height)];
}
ПРИМЕЧАНИЕ:
1. Я знаю, что могу вместо этого использовать UIScrollView, но все же хочу использовать UITableView по некоторым конкретным причинам.
2. Я создал UITableView программно и поместил его в [self.view addSuvView:MyTableView].
Заранее спасибо.
Комментарии:
1. зачем именно вам нужен табличный вид? если вы хотите прокручивать ячейку по горизонтали, вы можете добавить UIScrollView в ячейку. Если вы хотите прокручивать горизонтально всю область, в которой вы отображаете свои изображения, UIScrollView — идеальное решение. Доступно множество руководств по разбиению на листы вложенных представлений, которые позволяют создавать повторно используемые представления (аналогичные ячейкам удаления из очереди), если у вас есть большое количество отображаемых изображений
2. Спасибо за ваш ответ. Если бы вы могли указать мне на руководство по повторному использованию ScrollView для загрузки и отображения изображений при прокрутке, это было бы очень ценно.
3. Если у вас есть учетная запись разработчика Apple, вы можете посмотреть видеоролики сессии wwdc 2010 ( developer.apple.com/videos/wwdc/2010 ). Нужный сеанс называется «Разработка приложений с видами прокрутки». wwdc 2011 ( developer.apple.com/videos/wwdc/2011 ) провел последующую сессию «Продвинутые методы просмотра прокрутки».
Ответ №1:
следующая ссылка определенно поможет вам
как создать интерфейс с горизонтальными таблицами, похожий на новостное приложение pulse, часть 2