Как настроить UITableViewCell для отображения информации по-разному (для чайников, включая рисунок)? - PullRequest
1 голос
/ 25 марта 2011

Хорошо, я мог бы запутать это, но, надеюсь, нет. Итак, у меня есть UITableView, который я хочу разделить на 3: Подробности (A), Дополнительные детали (B) и Назначение (C).

В разделе Подробности я хочу просто отображать информацию так же, как это делает приложение Контакты, но я не знаю, как настроить UITableViewCell для отображения таким образом.

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

В разделе Назначение я хочу иметь комбинацию, в которой две ячейки являются нормальными и будут связываться с другими контроллерами, а одна ячейка - просто кнопка. Что-то особенное, что мне нужно сделать для ячейки кнопки?

Прямо сейчас у меня есть набор кнопок, ячеек таблицы и меток, так что это выглядит довольно плохо, и поэтому я хочу очистить его и сделать интерфейс согласованным.

Вот рисунок того, что я хочу сделать:

enter image description here

Что касается примечания, после того, как я щелкну ячейку, и она переместится к следующему контроллеру, а затем я вернусь, ячейка все еще будет выделена. Как заставить его отменить выбор после выполнения действия, с которым он связан?

Заранее спасибо за помощь!

Ответы [ 3 ]

0 голосов
/ 27 марта 2011

В cellForRowAtIndexPath должно быть что-то вроде этого:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
  ...
  ...
     if(indexPath.section == kAssignmentSection){

          if(indexPath.row == kAssignRow || indexPath.row == kTransferRow){

               cell.accesoryType = UITableViewCellAccessoryDisclosureIndicator;//Or Button
          }

     } 

}

Теперь вам нужно проверить на

-(void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath{
   if(indexPath.section == kAssignmentSection){

      if(indexPath.row == kAssignRow){

          //Do your thing for AssingRow or any other index you know that needs to be processed
      }

   } 
}
0 голосов
/ 08 апреля 2011

Я на самом деле понял это через пару часов после того, как отправил вопрос, покопавшись в документации, и в итоге я продолжил работу над своим приложением и вроде как проигнорировал этот вопрос.Во всяком случае, на самом деле довольно легко изменить внешний вид клеток.Это все в стиле ячейки.

Стиль ячейки определяет, как ячейка выглядит; По умолчанию выглядит как B на моем рисунке, Value2 выглядит как A на моем рисунке.

И стрелка направая сторона - это тип аксессуара, или в данном случае это DisclosureIndicator .

Я полагаю, что это отличный пример, чтобы сначала прочитать документацию, прежде чем спрашивать.Вот документы, которые я читал:

0 голосов
/ 25 марта 2011

Все, что вам нужно, это UITableView со стилем Grouped, затем в tableView: cellForRowAtIndexPath: метод вы должны проверить раздел возвращаемой ячейки (т.е.внутри одного и того же раздела должны быть в основном того же типа и стиля.Не уверен насчет кнопки, хотя на самом деле у вас должно быть собственное поведение для этих ячеек в tableView: didSelectRowAtIndexPath: метод.Все дело в правильной реализации правильных делегатов.

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