[iOS 강좌] 오픈API 이용한 날씨 APP 만들기 - 3. UIkit Framework
UIScrollView
//
객체 생성 및 초기화
UIScrollView *scrollView = [[UIScrollView alloc] init];
//
프레임 설정
[scrollView setFrame:CGRectMake(0,
0, 0,
0,)];
//
백그라운드 컬러 설정
[scrollView setBackgroundColor:[UIColor orangeColor]];
//
컨텐츠 크기 설정
[scrollView setContentSize:CGSizeMake(0,
0)];
//
인디케이트 설정
scrollView.showsVerticalScrollIndicator =YES;
//
델리게이트 설정
scrollView.delegate =self;
//
뷰에 추가
[self.view addSubview:scrollView];
<UIScrollViewDelegate>
//
스크롤 위치 델리케이트
-
(void)scrollViewDidScroll:(UIScrollView *)scrollView;
UIView
//
객체 생성 및 초기화
UIView *subView = [[UIView alloc] init];
//
프레임 설정
[subView setFrame:CGRectMake(0, 0, 0, 0)];
//
백그라운드 설정
[subView setBackgroundColor:[UIColor redColor]];
//
레이어 윤곽
[subView.layer setBorderWidth:1];
//
레이어 윤곽 색상
[subView.layer setBorderColor:[UIColor blueColor].CGColor];
//
레이어 모서리
[subView.layer setCornerRadius:10];
//
레이어 투명도
[subView.layer setOpacity:0.5];
//
히든
[subView setHidden:YES];
//
뷰에 추가
[self.view addSubview:subView];
UIImageView
//
객체 생성 및 초기화
UIImageView *imgView = [[UIImageView alloc] init];
//
프레임 설정
[imgView setFrame:CGRectMake(110,0,100,100)];
//
이미지 생성
UIImage *img
= [UIImage imageNamed:@"xcode"];
//
이미지 설정
[imgView setImage:img];
//
백그라운드
[imgView setBackgroundColor:[UIColor greenColor]];
//
뷰에 추가
[self.view addSubview:imgView];
UILabel
//
객체 생성 및 초기화
UILabel *label = [[UILabel alloc] init];
//
프레임 설정
[label
setFrame:CGRectMake(0, 0, 0, 0)];
//
텍스트 설정
[label
setText:@"Hello World! Another
World! Same World! Lovely World!"];
//
텍스트 색상
[label
setTextColor:[UIColor redColor]];
//
텍스트 정렬
[label
setTextAlignment:NSTextAlignmentLeft];
//
텍스트 폰트
[label
setFont:[UIFont
systemFontOfSize:14]];
//
텍스트 라인
[label
setNumberOfLines:0];
//
텍스트 백그라운드
[label
setBackgroundColor:[UIColor blueColor]];
//
뷰에 추가
[self.view addSubview:label];
UIButton
//
객체 생성 및 초기화
UIButton *btn
= [[UIButton alloc]init];
//
프레임 설정
[btn setFrame:CGRectMake(0, 0, 0,
0)];
//
버튼 백그라운드
[btn setBackgroundColor:[UIColor grayColor]];
//
버튼 타겟
[btn addTarget:self action: @selector(btn:)
forControlEvents:UIControlEventTouchUpInside];
//
버튼 태그
[btn setTag:1];
UIImage *imgOff
= [UIImage imageNamed:@"xcode"];
UIImage *imgOn
= [UIImage imageNamed:@"xcode"];
UIImage *imgOver = [UIImage imageNamed:@"xcode"];
//
이미지 설정
[btn setImage:imgOff forState:UIControlStateNormal];
[btn setImage:imgOn forState:UIControlStateSelected];
[btn setImage:imgOver forState:UIControlStateHighlighted];
//
뷰에 추가
[self.view addSubview:btn];
UITextField
//
객체 생성 및 초기화
UITextField *textField = [[UITextField alloc] init];
//
프레임 설정
[textField setFrame:CGRectMake(0, 0, 0, 0)];
//
외곽 스타일 설정
[textField setBorderStyle:UITextBorderStyleRoundedRect];
//
키보드 타입 설정
[textField setKeyboardType:UIKeyboardTypeDefault];
//
키보드 리턴 키타입 설정
[textField setReturnKeyType:UIReturnKeyDefault];
//
플레이스 홀더
[textField setPlaceholder:@"입력하세요."];
//
델리게이트 설정
textField.delegate =self;
//
뷰에 추가
[self.view addSubview: textField];
<UITextFieldDelegate>
//
리턴 키 눌렀을 때 호출
-
(BOOL)textFieldShouldReturn:(UITextField *)textField;
UISwitch
//
객체 생성 및 초기화
UISwitch *Switch = [[UISwitch alloc] init];
//
프레임 설정
[Switch
setFrame:CGRectMake(0, 0, 0, 0)];
//
타겟 설정
[Switch
addTarget:self action:@selector(switchTouch:) forControlEvents:UIControlEventValueChanged];
//
색상 설정
[Switch
setTintColor:[UIColor redColor]];
[Switch
setOnTintColor:[UIColor blueColor]];
//
뷰에 추가
[self.view addSubview:Switch];
//
타겟 액션 – 스위치 값이 변경 되었을때
UIControlEventValueChanged
-(void)switchTouch:(UISwitch*)sender{
NSLog(@"sender.on =%d",sender.on);
}
UISlider
//
객체 생성 및 초기화
UISlider *slider = [[UISlider alloc] init];
//
프레임 설정
[slider
setFrame:CGRectMake(0, 0, 0, 0)];
//
최소값, 최대값 설정
[slider
setMinimumValue:1];
[slider
setMaximumValue:100];
//
색상 설정
[slider
setMinimumTrackTintColor:[UIColor blueColor]];
[slider
setMaximumTrackTintColor:[UIColor grayColor]];
//
타겟 설정
[slider
addTarget:self action:@selector(Slider:) forControlEvents:UIControlEventValueChanged];
//
뷰에 추가
[self.view addSubview:slider];
//
타겟 액션 – 슬라이드 값이 변경 되었을때 호출
-(void)Slider:(UISlider*)sender{
NSLog(@”sender.value =%f",sender.value);
}
UISegmentedControl
//
객체 생성 및 초기화
UISegmentedControl *segmentedControl =[[UISegmentedControl alloc] initWithItems:@[@"1",@"2",@"3"]];
//
프레임 설정
[segmentedControl setFrame:CGRectMake(0, 0, 0, 0)];
//
색상 설정
segmentedControl.tintColor =[UIColor redColor];
//
타겟 설정
[segmentedControl addTarget:self action:@selector(segControl:) forControlEvents:UIControlEventValueChanged];
//
뷰 추가
[self.view addSubview:segmentedControl];
//
타겟 액션 – 세그먼트 값이 변경 되었을때 호출
-(void)segControl:(UISegmentedControl*)sender{
// UISwitch *btn =(UISwitch*)sender;
NSLog(@"selectedSegmentIndex =%ld",sender.selectedSegmentIndex);
}
UIProgressView
//
객체 생성 및 초기화
UIProgressView *progressView = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleDefault];
//
프레임 설정
[progressView setFrame:CGRectMake(0, 0, 0, 0)];
//
프로그레스 설정
[progressView setProgress:0.1f];
[progressView setProgress:1 animated:YES];
//
뷰에 추가
[self.view addSubview:progressView];
UIActivityIndicatorView
//
객체 생성 및 초기화
UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] init];
//
프레임 설정
[indicator
setFrame:CGRectMake(0, 0, 0, 0)];
//
인디게이트 스타일 설정
[indicator
setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray];
//
뷰에 추가
[self.view addSubview:indicator];
//
스타트
[indicator
startAnimating];
//
종료
[indicator
stopAnimating];
UIAlertController
//
객체 생성 및 초기화
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"alert" message:@"내용" preferredStyle:UIAlertControllerStyleAlert];
//
객체 생성 및 초기화
[alertController addAction:[UIAlertAction actionWithTitle:@"취소" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
//
컨트롤러에서 해제
[self dismissViewControllerAnimated:YES completion:^{
}];
}]];
[alertController addAction:[UIAlertAction actionWithTitle:@"확인" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
[self dismissViewControllerAnimated:YES completion:^{
}];
}]];
//
컨트롤러에 추가
[self presentViewController:alertController animated:YES completion:^{
}];
UITextView
//
객체 생성 및 초기화
UITextView *textView =[[UITextView alloc] init];
//
프레임 설정
[textView setFrame:CGRectMake(0,0,0,0 )];
//
텍스트 설정
[textView setText:@"텍스트뷰입니다. 내용을 입력하세요"];
//
텍스트 백그라운드
[textView setBackgroundColor:[UIColor yellowColor]];
//
뷰에 추가
[self.view addSubview:textView];
<UITextViewDelegate>
//
텍스트가 입력되었을 대 호출 20자 이상일 경우 입력 불가
-
(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
if(textView.text.length >20)
{
return NO;
}
return YES;
}
UIPickerView
//
객체 생성 및 초기화
UIPickerView *pickerView = [[UIPickerView alloc] init];
//
프레임 설정
[pickerView setFrame:CGRectMake(0, 0, 0,
0)];
[pickerView setShowsSelectionIndicator:YES];
//
백그라운드 설정
[pickerView setBackgroundColor:[UIColor greenColor]];
//
델리게이트 설정
pickerView.delegate=self;
//
뷰에 추가
[self.view addSubview:pickerView];
<UIPickerViewDelegate,UIPickerViewDataSource>
-
(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;
-
(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
-
(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;
-
(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component;
UITableView
//
객체 생성 및 초기화
UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 0, 0) style:UITableViewStylePlain];
//
셀 높이
[tableView setRowHeight:60];
//
선택 스타일 설정
[tableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine];
//
선택 셀 색상 설정
[tableView setSeparatorColor:[UIColor grayColor]];
//
델리게이트 및 데이터 소스 설정
tableView.dataSource =self;
tableView.delegate=self;
//
뷰에 추가
[self.view addSubview:tableView];
<UITableViewDelegate,UITableViewDataSource>
-
(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
-
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
-
(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
UINavigationController
// 스토리보드 연결
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
// 뷰컨트롤러
생성
StoryViewController *storyViewController =[storyboard instantiateViewControllerWithIdentifier:@"StoryViewController"];
// 푸시
[self.navigationController pushViewController:storyViewController animated:YES];
// 팝
[self.navigationController popViewControllerAnimated:YES];
댓글
댓글 쓰기