"그림 표시"단추를 어떻게 만들 수 있으며 클릭하면 "그림 숨기기"로 바뀝니다. 나는 객관적인 C를 처음 접했고 인터페이스 빌더에서 버튼을 만드는 방법을 알고 있지만 버튼의 텍스트와 기능을 전환하는 방법을 모른다. 누군가 나를 도울 수 있습니까?iPhone에서 UIButton을 전환하십시오.
답변
버튼의 .tag 속성을 남용합니다. 이 기능에 조치를 터치를 아래로 훅 :
-(IBAction)buttonClick:(UIButton*)sender
{
if (sender.tag)
{
sender.tag = 0;
sender.text = @"Show Picture";
// do actions when "hide" is clicked
} else {
sender.tag = 1;
sender.text = @"Hide Picture";
// do actions when "show" is clicked
}
}
대신의 태그 속성을 사용하여 (AB)는, 당신은 또한 단순히 사이의 버튼을 전환 할 수있는 선택, 선택과 같이하지 :
- (IBAction)myButtonAction:(id)sender
{
[sender setSelected:![sender isSelected]];
// or in Objective-C 2.0 if you're so inclined
sender.selected = !sender.selected;
}
그런 다음 IB에서 버튼의 일반 상태와 선택된 상태에 대한 텍스트를 관리자에서 직접 설정할 수 있습니다 (또는 setTitle : forState : 메소드를 통해 프로그래밍 방식으로). 이 텍스트의 여러 별도의 세트를 제작 되었기 때문에
을 : 여기에 문서를 참조 -
이 하나 까다로운 일이있는 UIButton 제대로 "공식적인"텍스트가없는 것입니다 버튼의 현재 상태에 따라 표시됩니다. 즉, 현재 활성화되어 있는지 또는 비활성화되어 있는지, 강조 표시되어 있는지 여부 등이 포함됩니다. 따라서이 작업을 수행하기 위해 설정할 수있는 속성이 하나도 없습니다.
그래서, 당신은이처럼 버튼을 선언 할 조치 및 출구 모두 같은 :
// inside the class declaration
BOOL pictureShown ; // initializer not required, defaults to 0 (NO)
UIButton * sampleButton ;
// skip irrelevant lines here
@property (nonatomic, retain) IBOutlet UIButton * sampleButton ;
- (IBAction) doSampleButton ;
후크 인터페이스 빌더에서 그 최대의 모두 다음 : button.h에서
setTitle : forState : 메소드를 사용하여 텍스트를 변경하십시오 (이 경우 모든 상태를 지정 했으므로 제목은 모두 동일하게 유지됩니다). button.m에서
: 예를 들어
@synthesize sampleButton ;
- (IBAction) doSampleButton {
if (pictureShown == YES) {
// hide the picture, and then...
[sampleButton setTitle: @"Show Picture" forState: (UIControlStateNormal | UIControlStateHighlighted | UIControlStateSelected | UIControlStateDisabled)] ;
pictureShown = NO ;
} else {
// show the picture, and then...
[sampleButton setTitle: @"Hide Picture" forState: (UIControlStateNormal | UIControlStateHighlighted | UIControlStateSelected | UIControlStateDisabled)] ;
pictureShown = YES ;
}
}
또한 내가 버튼을 사용하여 뷰에 대한 뷰 컨트롤러에, 인스턴스 변수, "pictureShown"를 선언 한 것을 알게 될 것이다, 추적 버튼의 현재 "모드", 그리고 버튼의 현재 모드에 따라 어떤 기능이 수행되는지를 결정하고 이에 따라 버튼 텍스트를 토글하기 위해 본질적으로 버튼의 액션 내에서 if 문을 사용하고 있습니다.
(예를 들어 버튼의 현재 제목을 직접 검사하거나 버튼에 상태를 저장하는 등의 방법보다는 버튼의 현재 모드를 추적하는 데 MVC와 마찬가지로이 방법을 사용합니다. . 상태는 컨트롤러 클래스에 속하는의) 기능이 많은 코드를 필요한 경우
이 (내가 자기에게 메시지를 사용하는 거라고 예 :
[self showPicture] ;
[self hidePicture] ;
doSampleButton 안에 다 밀어 넣는 것을 피하기 위해, 하지만 기술적으로 요구되는 것이 아니라 순전히 문체가 있습니다.
태그 속성을 남용하지 마십시오. 버튼 식별자로만 사용하는 것이 좋습니다 (예 :보기에 버튼이 거의없는 경우 태그를 0, 1, 2 ...로 설정하여 어떤 버튼이 발신자인지 식별 할 수 있음). 당신은 어떤 전역 int int i 변수를 설정할 수 있고 그에 따라 값을 변경할 수 있습니다.
- 1. 조치 iPhone에서 UIButton을 2 초 동안 누르고 있으면 트리거됩니다.
- 2. iPhone에서 UIButton을 클릭하면 선택한 상태를 유지하는 방법은 무엇입니까?
- 3. 이미지의 src 속성을 전환하십시오.
- 4. 요소 숨김 레이블을 전환하십시오.
- 5. 두 개의 UISwitch를 전환하십시오
- 6. UISegmentedControl을 사용하여 NSFetchedResultsController를 전환하십시오.
- 7. 매일 사이트 이미지를 전환하십시오
- 8. 인터넷 익스플로러에서 가시성 문제를 전환하십시오
- 9. JavaScript Img를 클릭하여 이미지를 전환하십시오
- 10. uitableviewcell의 체크 박스 이미지를 전환하십시오
- 11. 서비스가 동적으로 실행되도록 사용자를 전환하십시오.
- 12. jQuery를 사용하여 페이지에서 DIV를 전환하십시오.
- 13. 키보드를 사용하여 우분투에서 Windows를 전환하십시오.
- 14. 안드로이드에서 두 레이아웃 사이를 전환하십시오.
- 15. 이동하는 동안 UIButton을 움직일 수있게 유지하면서 UIButton을 움직이는 (이동) 방법?
- 16. 커스텀 UIButton을 어둡게하는 방법
- 17. UIButton을 사용한 메모리 관리
- 18. UITableView에서 UIButton을 어떻게 애니메이트합니까?
- 19. UIImageView는 UIbutton을 오버랩합니다
- 20. UIButton을 통한 부울 전환
- 21. UIButton을 배열에 저장하려면 어떻게해야합니까?
- 22. UIButton을 인터페이스 빌더로 생성합니다.
- 23. 이미지를 결합하여 UIButton을 만드시겠습니까?
- 24. 수직 UIButton을 만드십시오
- 25. UIButton을 올바르게 정리하는 방법
- 26. 프로그래밍 방식으로 UIButton을 강조 표시하는 방법은 무엇입니까?
- 27. 브라우저 언어에 따라 div 태그의 가시성을 전환하십시오.
- 28. 버튼을 사용하여 Flash CS5에서 프레임을 전환하십시오.
- 29. 저장소 패턴 - 데이터베이스를 전환하고 XML 파일을 전환하십시오.
- 30. jQuery를 사용하여 한 번에 하나의 항목을 전환하십시오.
감사합니다. 그게 뭐지?태그 속성은 어쨌든합니까? – Fasid
일반적으로 다른 방법으로 사용합니다. IB에서 버튼 (또는 다른 항목)을 "태그 지정"하는 쉬운 방법이므로 하나의 핸들러 만 이벤트를 수신 할 수 있습니다. 태그에서 액션의 출처를 확인할 수 있습니다 . (당신은 여전히 두 가지를 혼합 할 수 있습니다. 예를 들어, 버튼 0, 2, 4에 태그를 붙이고, 마지막 비트를'sender.tag^= 1;을 사용하여 뒤집고'sender.tag & 1'을 사용하여 테스트하지만 의도적으로 예제를 매우 간단하게 유지하여 무슨 일이 일어나는지보실 수 있습니다 .. – mvds
고맙습니다 ... – Fasid