테이블에서 셀을 클릭하면 선택기의 선택에 따라 변환 대상이 변경됩니다.
샘플의 구성
・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");
}
스토리보드
Reference
이 문제에 관하여(테이블에서 셀을 클릭하면 선택기의 선택에 따라 변환 대상이 변경됩니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/dekunobo/items/22c805ed7a6a0cf462b9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
※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");
}
스토리보드
Reference
이 문제에 관하여(테이블에서 셀을 클릭하면 선택기의 선택에 따라 변환 대상이 변경됩니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/dekunobo/items/22c805ed7a6a0cf462b9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#import <UIKit/UIKit.h>
@interface SelectorTableViewController : UIViewController<UITableViewDelegate, UITableViewDataSource>
@property (weak, nonatomic) IBOutlet UISegmentedControl *selMode;
@end
#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");
}
Reference
이 문제에 관하여(테이블에서 셀을 클릭하면 선택기의 선택에 따라 변환 대상이 변경됩니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/dekunobo/items/22c805ed7a6a0cf462b9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)