테이블에서 셀을 클릭하면 선택기의 선택에 따라 변환 대상이 변경됩니다.

표의 칸을 눌렀을 때 선택기의 선택에 따라 전환 목표의 견본을 바꿉니다.

샘플의 구성


・Navigation Controller:
• ViewController 1: TableView, TableViewCell, ToolBar+Segment Control 구성 ※ 1
• ViewController 2: ViewController A의 Label 구성
• ViewController 3: ViewController B의 Label 구성
・segueA: ViewController 1과 ViewController 2 사이의 sege identifier 이름 ※ 2
・segueB: ViewController 1과 ViewController 3 사이의 sege identifier 이름 ※ 2
・selMode: Segment Controll의 변수 이름

참고 자료


※1 Storyboard-UIView에 UItableView 추가
※2 조건에 따라 목적지를 옮기는 장면을 변경하는 방법

소스 코드


SelectorTableViewController.h
#import <UIKit/UIKit.h>

@interface SelectorTableViewController : UIViewController<UITableViewDelegate, UITableViewDataSource>
@property (weak, nonatomic) IBOutlet UISegmentedControl *selMode;
@end
SelectorTableViewController.m
#import "SelectorTableViewController.h"

@interface SelectorTableViewController ()
@end

@implementation SelectorTableViewController

- (void)viewDidLoad {
    [super viewDidLoad];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    // Return the number of sections.
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    // Return the number of rows in the section.
    return 1;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *cellIdentifier = @"testIdentifier";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle: UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
    }

    // Configure the cell...
    cell.textLabel.text = @"Test";
    return cell;
}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    NSLog(@"didSelectRowAtIndexPath");
    NSLog(@"SegmentedControle =%d", _selMode.selectedSegmentIndex);
    NSString *segueName;
    if (_selMode.selectedSegmentIndex == 0 ) {
        segueName = @"segueA";
    } else {
        segueName = @"segueB";
    }
    [self performSegueWithIdentifier:segueName sender:self];
}

#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
    NSLog(@"prepareForSegue");
}

스토리보드


좋은 웹페이지 즐겨찾기