2011-03-20 5 views
52

가능한 중복 :
Checkbox in IPhone applicationiOS에서 간단한 체크 박스를 만드는 방법은 무엇입니까?

나는이 개 값을 간단하게 체크 박스를 만들고이를 저장하려면, 내가 그것을 어떻게 만들 수 있습니까?

감사합니다.

+0

게시하기 전에 검색하십시오 – Mat

+0

경고 : 네이티브 구성 요소 토글 위젯에 대한 ent는 UISwitch입니다. 허용 된 대답은 UIButton이있는 Windows 스타일 체크 상자를 구현합니다. – Jano

답변

117

네, 아이폰 OS (에서 당신을 위해 어떤 체크 박스 - : 다음 않는 대상 방법 지금

UIButton *checkbox; 
BOOL checkBoxSelected; 
checkbox = [[UIButton alloc] initWithFrame:CGRectMake(x,y,20,20)]; 
// 20x20 is the size of the checkbox that you want 
// create 2 images sizes 20x20 , one empty square and 
// another of the same square with the checkmark in it 
// Create 2 UIImages with these new images, then: 

[checkbox setBackgroundImage:[UIImage imageNamed:@"notselectedcheckbox.png"] 
        forState:UIControlStateNormal]; 
[checkbox setBackgroundImage:[UIImage imageNamed:@"selectedcheckbox.png"] 
        forState:UIControlStateSelected]; 
[checkbox setBackgroundImage:[UIImage imageNamed:@"selectedcheckbox.png"] 
        forState:UIControlStateHighlighted]; 
checkbox.adjustsImageWhenHighlighted=YES; 
[checkbox addTarget:(nullable id) action:(nonnull SEL) forControlEvents:(UIControlEvents)]; 
[self.view addSubview:checkbox]; 

:

다음

이 내가 체크 박스를 만들기 위해 무슨 짓

-(void)checkboxSelected:(id)sender 
{ 
    checkBoxSelected = !checkBoxSelected; /* Toggle */ 
    [checkbox setSelected:checkBoxSelected]; 
} 

그게 전부예요

+3

아주 아주 아주 작은 주석. @ "notselectedcheckbox.png"문자열 앞에 @를 잊지 마십시오. – polyclick

+8

그리고 여러개의 버튼이 있다면 당신은 taget 메소드'UIButton * btn = (UIButton *) sender; \t if ([btn isSelected]) { \t \t [btn setSelected : NO]; \t} else { \t \t [btn setSelected : YES]; \t} ' – andsien

+1

강조 표시된 상태를 정의하는 두 줄은 필요하지 않습니다! 그들은 단지 (iOS5에서 atleast) 체크 박스를 고장 나게한다. :) –

28

iOS에는 체크 박스 대신 스위치 UI 구성 요소가 있으므로 UISwitch 클래스를 살펴보십시오. on (부울) 속성은 슬라이더의 상태와 상태 저장 여부를 결정하는 데 사용할 수 있습니다. 이는 다른 항목을 저장하는 방법에 따라 달라지며 부울 값 만 저장하면됩니다.

+1

나는 UISwitch를 선호하는데, 네이티브, 최적화 및 쉽게 사용자 지정할 수 있기 때문입니다. 첫 번째 대답은 훌륭하지만 나에게 (그리고 그것은 단지 개인적으로 유용하다) 필요하지 않다면 휠을 다시 발명 할 필요가 없다. – Septronic

+0

사용자가 여러 선택 항목을 선택할 수있게하려면 스위치를 사용하지 않아도됩니다. –

+1

@Hiren Prajapati : 이유가 무엇입니까? 여러 개의 부울 선택을해야 할 경우 기본 UUw 응용 프로그램에서 수행되는 것처럼 여러 UISwitch 요소를 사용합니다. 체크 표시 대신 UISwitch를 사용하는 유일한 원인은 UI가 무언가를 "완료/완료하지 않음"상태로 표시해야하는 경우에 대한 미학적/대표적인 것입니다. – valeCocoa

관련 문제