2014-01-10 4 views
0

В настоящее время я разрабатываю приложение карты ios.ios swapping UILabel in UItableView

Одна из функций позволяет пользователю получать информацию о направлении. Я создал UItableview с 2 статическими ячейками. 1-я ячейка отображения текущего местоположения и 2-я ячейка отображения назначения. Обе ячейки содержат UILabel, которые отображают текст.

Мой вопрос в том, как я могу позволить пользователю поменять 1-ю ячейку на вторую, чтобы они могли выбрать направление от места назначения до текущего местоположения, а не по умолчанию.

Любая идея о том, как это сделать. Есть ли в любом случае для меня перетащить UILabel, чтобы поменять оба этикета или есть способ отображать кнопку между ячейкой, которая позволяет пользователю обмениваться, как то, что делает карта google?

Thank!

ответ

0

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

Просто быстро рецензия со многими допущениями здесь:

@interface myVC : UIViewController <UITableViewDataSource> 
{ 
    NSString* _source; 
    NSString* _dest; 
} 
@property (nonatomic, weak) IBOutlet UITableView* tableView; 
@end 

И тогда в реализации:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return 2; 
} 

- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell* cell; 

    if (indexPath.row == 0) 
    { 
    cell = [tableView dequeueReusableCellWithIdentifier:@"SourceCell"]; 
    cell.textLabel.text = source; 
    } 
    else // indexPath.row == 1 
    { 
    cell = [tableView dequeueReusableCellWithIdentifier:@"DestCell"]; 
    cell.textLabel.text = dest; 
    } 

    return cell; 
} 

- (IBAction)swap:(id)sender 
{ 
    NSString* temp = source; 
    source = dest; 
    dest = temp; 
    [self.tableView reloadData]; 
} 

@end