프로그래밍 방식으로 만든 UIButton 객체 (둥근 사각형 유형)가 포함 된 뷰가 있지만 그 중 일부 정보를 저장해야합니다. 각 버튼을 식별합니다. 태그를 사용하여 잘하고 있었지만 숫자가 너무 많았습니다. 기본적으로 각 버튼과 관련된 정보를 NSString으로 가지고 싶습니다. 그건 그렇고, 라벨을 찍은, 나는 그것을 사용할 수 없습니다. 가장 간단하고 빠른 방법은 무엇입니까? UIButton을 서브 클래스 화하고 stringTag와 같은 자체 속성을 추가해야합니까? 나는 아직 obj-c에 능숙하지 못하며 어딘가에 고통을 느낍니다. 내 UIButtons에 추가 문자열을 저장할 수있는 더 간단한 방법이 있습니까? 모든 조언을 미리 미리 감사드립니다.UIButton 간단한 하위 클래스 (태그와 같은 NSString 속성이 있어야 함)
답변
하위 클래스를 하위 클래스로 지정하면 정말 고통 스럽습니다. UIButton은 추상 클래스이기 때문에 예상대로 작동하지 않습니다. 그러므로 완전히 작동하는 버튼을 만들기 위해서는 버튼이 Apple 서브 클래스가하는 모든 것을 수행하는 데 필요한 몇 가지 메소드를 오버라이드해야 할 수 있습니다. 대신 저장 용량을 추가하기 만하면 associative references을 사용할 수 있습니다. 기능을 사용하려면 #import <objc/runtime.h>
해야합니다.
이 작업을 수행하는 가장 좋은 방법은 문자열 상수 NSString *const buttonTagName = @"com.youapp.buttonTag";
을 정의하고이 태그를 키 objc_setAssociatedObject(button, buttonTagName, tagForCurrentButton, OBJC_ASSOCIATION_RETAIN);
으로 저장하는 것입니다.
일부 ID 정보가있는 NSString
을 추가하면 UIButton
하위 클래스가 너무 많이 엉켜지지 않아야한다고 생각합니다. 적어도 시도해보기 쉽습니다. 여기서 10 줄의 코드를 말합니다. UIButton을 서브 클래 싱하고 initWithFrame 메서드를 재정의 한 다음 제대로 작동하도록했습니다. 그러나 그것은 사실입니다. 고통스럽고 왜 저에게 묻지 않았습니까?
네, 이전에 uibutton을 하위 클래스로 분류 한 적이 없었으며 여러 곳에서 읽었습니다. 어쨌든이 작업을 끝내면 사용자 정의 단추를 그릴 수 있습니다. 답변 주셔서 감사합니다. –
- 1. UIButton 하위 클래스 - 속성 설정?
- 2. 있는 NSString 속성이 나는이 같은 클래스가
- 3. 하나의 rspec 블록에 두 개 있어야 함
- 4. UILabel의 하위 뷰로 UIButton
- 5. 스크롤보기에서 UIButton 사용 안 함
- 6. 색인이있는 배열을 임의로 그룹화 (예 : 0-5가 함께 있어야 함)
- 7. 클래스 속성이
- 8. 백그라운드에서 UIButton 및 UITextView의 텍스트로드 (간단한 CMS)
- 9. 공유 같은 클래스
- 10. NSString 속성이 잘못된 값으로 변경되는 이유는 무엇입니까?
- 11. 간단한 텍스트 UIButton 강조 표시
- 12. Java에서 데이터베이스와 같은 간단한 컬렉션 클래스
- 13. NSString 크래싱의 하위 문자열 확인
- 14. 클래스 '속성이 할당없이 타입 변경
- 15. 모델에 추가 속성이 정의되지 않은 NSManagedObject 하위 클래스
- 16. BindingList BindingList 오버로드 중 하위 속성이 T 상위 클래스 인
- 17. NSString 오류로 인해 응용 프로그램이 충돌 함
- 18. iPhone - "위치를 사용할 수 있어야 함"대화 상자 표시
- 19. Delphi 2009 웹 서비스 "XML 문서에 최상위 요소가 있어야 함"
- 20. WCF 서비스에 대한 종속성 컨테이너의 단일 인스턴스가 있어야 함
- 21. webapp 로그인, 지원 직원이 이용할 수 있어야 함
- 22. 뷰 하위 클래스 기술
- 23. git : 분기 별 태그와 같은 것이 있습니까?
- 24. Uibutton 이벤트
- 25. 여러 태그와 일치하는 항목 선택
- 26. 계속 오류가 발생 함 "구성 요소를 표시 할 수 있어야 함"
- 27. 클래스 하위 클래스 사전
- 28. 우리는 JSF include 태그와 같은 플렉스 템플릿을 만들 수 있습니까?
- 29. 애니메이션 이미지를 표시하는 UIImageView 하위 뷰가있는 UIButton
- 30. 하위 클래스 UITableViewCell
감사합니다. 감사합니다, 이것이 가능하다는 것을 몰랐습니다. 내가 원하는 것을 성취 할 수있는 가장 간단한 방법 인 것처럼 보입니다. –