Проблема UITableView со свойством Inset - PullRequest
1 голос
/ 28 октября 2009

Фон моего навигационного приложения выглядит как бумага на пробковой доске объявлений. Мой RootViewController - это, конечно, UITableView. Я хочу, чтобы конец TableView был на бумаге, а не на пробке. Некоторые картинки здесь, чтобы объяснить это лучше:

альтернативный текст http://img528.imageshack.us/img528/3469/bildschirmfoto20091028u.png
Вот как это выглядит, когда я прокручиваю до последней строки TableView. Для этого я использую свойство «Inset» для «Content-Bottom» и «Scrollers-Bottom» в Interface Builder.

альтернативный текст http://img24.imageshack.us/img24/3469/bildschirmfoto20091028u.png
Вот как это выглядит, когда я прокручиваю до верха TableView.

альтернативный текст http://img28.imageshack.us/img28/64/35859544.png
И вот как я хочу, чтобы TableView выглядел при прокрутке вверх.

Как я могу это сделать?

Большое спасибо; -)
Ясин

Ответы [ 2 ]

2 голосов
/ 25 января 2011

Или просто используйте insertSubview:corkBoard atIndex:1 во время viewDidLoad или что-то еще. Имя corkBoard должно отображаться при любом представлении пробковой доски, а index подсчитывает, сколько видов находится под ним. Так что 1 будет только один вид внизу, UITableView. Есть смысл? Конечно, если у вас есть другие представления, которые вам нужны, просто измените число index.

На мой взгляд, это работает лучше, чем установка рамки. Рамка будет иметь неуклюжий пробел под ней, а это просто ставит стол за пробку. Довольно гениально:)

2 голосов
/ 28 октября 2009

Вы можете сделать кадр вашего tableView с меньшим параметром size.height. Это сделает свое дело.

Ох ... Хорошо. У меня нет Mac поблизости сейчас, поэтому я не хочу размещать много кода. Я постараюсь объяснить. Прежде всего, вы должны наследовать свой rootViewController от UIViewController, а не UITableViewController. Если вы используете IB, вы должны ссылаться на ваш основной вид на свойство представления вашего RootViewController. Затем вы можете установить фон вашего основного вида

[self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"myImage.png"]]];

или добавьте UIImageView к вашему виду и установите там фоновое изображение. Затем вам нужно добавить UITableView к вашему представлению и установить его фрейм в любом размере, который вы хотите. Следующий шаг - направить ваш новый tableView к розетке внутри вашего класса. Что-то вроде этого:

IBOutlet UITableView* myTableView;

в вашем viewDidLoad: метод устанавливает в качестве фона вашего нового tableView значение clearColor

[myTableView setBackgroundColor:[UIColor clearColor]];

и последний. все ваши self.tableView вы должны заменить на myTableView.

P.S. О, не забывайте, что ваш новый tableView должен иметь фрейм со свойствами x, y, width, идентичными свойствам вашего self.view, а свойство height tableView должно быть немного меньше.

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