[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];

댓글

주간 인기글

[정보] 인스타그램은 당신의 소리를 '듣고' 있을 수도 있습니다

[Angular] 모델, 값이 바뀌었는데 화면 template 이 업데이트 되지 않을 때 조치 팁

[AWS] Lambda + API GateWay를 이용해 간단한 RESTful API 만들기 #1

[AWS] Lambda + API GateWay를 이용해 간단한 RESTful API 만들기 #2

안드로이드에서 당겨서 새로고침(SwipeRefreshLayout) 쉽게 구현하기