2010-04-19 3 views
2

Были заданы некоторые подобные вопросы в отношении представлений Grid, но никто не получил достаточного ответа (некоторые из них остались без ответа, поскольку SDK были под NDA в то время).Создайте редактируемый вид сетки, как в iBooks

Вопрос в том, может ли кто-нибудь направить меня к учебнику или объяснить мне, какие шаги следует предпринять для создания сетки, аналогичной iBooks, или Yahoo! Приложение для развлечений на iPhone?

Here's a screenshot что я имею в виду.

ответ

13

AQGridView появился в выходные (из-за конкурса iPadDevCamp), который делает вид сетки. Хотя я не уверен, что он доступен для редактирования. Если это не так, это с открытым исходным кодом ....

Это была версия для iPhone NSCollectionView, которая поддерживает автоматическую компоновку. AQGridView также оплатит ваши ячейки. Он очень похож на UITableView с точки зрения разработчика.

Объявление сообщение: http://quatermain.tumblr.com/post/528737778/aqgridview-lives-for-my-ipad-dev-camp-hackathon

+0

Спасибо за это - сейчас проверяйте это. –

+0

Это замечательно, спасибо! –

+1

Проект Github находится здесь: https://github.com/AlanQuatermain/AQGridView – memmons

1

Я не знаю, о IPAD, но эти типы табличном всегда реализуются как UITableView с пользовательскими клетками на iPhone. Одним из примеров этого является приложение Apple Photos. Он выглядит как сетка с 4 столбцами, но на самом деле это табличный вид, и в каждой ячейке есть 4 фотографии.

Если вы ищете пример кода, посмотрите на проект Three20:

http://joehewitt.com/post/the-three20-project/

+0

Я думал об этом, но это просто казалось бы слишком сложным. Я не смотрел на код три20 в глубину, но я не могу понять интуитивно, как вы будете обрабатывать вещи indexPath в таком случае. Тем не менее, я проверю код перед тем, как выбрать ответ. Спасибо, Неван! –

+1

Для указательного пути, если у вас есть 4 столбца, разделите позицию массива на 4 и преобразуйте в int. Это даст вам индекс ячейки таблицы. Найдите модуль 4 для позиции фотографии в ячейке таблицы. Моя математика шаткая, но я думаю, что это сработает. –

1

я бы просто поставить кучу UIButtons на виду. Вы можете сделать это в IB или просто сделать это в коде, например:

self.newsView = [UIButton buttonWithType:UIButtonTypeCustom]; 
[self.newsView setImage:[UIImage imageNamed:@"news.png"] forState:UIControlStateNormal]; 
[self.newsView addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside]; 
self.newsView.tag = 1; 

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

+0

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

Смежные вопросы