2013-03-08 3 views
0

Я новичок в iphone и работаю над проектом, где требуется UITableView, у нас есть два sections. В первом разделе мы должны указать адрес, а во втором разделе мы имеем четыре строки переменных, которые состоят из Phone number, Fax, Email, and SMS. Если какой-либо элемент (phone,fax,email,sms) не будет иметь данных, тогда эта строка не будет видна, и каждая строка содержит кнопку. При щелчке по этим UIButton следует выполнить определенную функцию, например, если бы я нажал на кнопку, которая в строке телефона затем должна соединиться с телефоном, как мудрый.TableCell с кнопками и различными действиями кнопок

Моя проблема: я не могу отличить действия UIButton, так как строки не фиксированы. Итак, как выполнить действие в соответствии с конкретными данными строки динамически. В настоящее время я могу выполнить только одно действие для всех строк.

+0

Если ваша проблема заключается только в вызове действия, тогда прочитайте мой ответ здесь: http://stackoverflow.com/questions/15292997/adding-a-integer-after-variable-name-to-access/15293136#15293136 –

ответ

1

Используйте перечисления для определения типа ячейки. Проверьте перечисление в вашем обработчике.

typedef enum { 
    CellTypePhone = 100, 
    CellTypeFax, 
    CellTypeEmail, 
    CellTypeSMS 
} CellType; 

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

cell.tag = CellTypePhone; 
button.tag = CellTypePhone; 

Затем вы знаете, какая ячейка была выбрана в обработчике кнопок.

-(void)buttonPressed:(UIButton*)sender { 
    if  (sender.tag == CellTypePhone)  { /* handle phone */ } 
    else if (sender.tag == CellTypeFax)  { /* handle fax */ } 
    // etc. 
} 
+0

Как мы можем установить другой тег в ту же кнопку в ячейке tableview, и это тоже должно быть динамическим. например, если нет. ячейка будет доступна, тогда только она должна быть помечена .. – Rahul

+0

Каждый раз, когда вы меняете кнопку динамически, также меняйте тег. – Mundi

0

Дайте разные номера тегов для вашего UIButtons. Вы можете присвоить номера меток своим кнопкам с помощью IB, а затем выполнить действия, соответственно назвав значения тегов.

0

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

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

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