문제

응용 프로그램에서보기가 있습니다. 보기에는 uitableview와 uitoolbar가 포함되어 있으며 Uitoolbar 안에는 uibarbuttonitem 객체에 포함 된 uisementedcontrol이 있습니다.

IBACTION 이벤트에 링크하기 위해 세그먼트 된 컨트롤을 얻을 수 있으며 값 변경에 따라 작용하지만이 항목에 IBOUTLE을 추가하는 방법을 알 수 없습니다.

이 링크를 추가하려고 할 때 아울렛 링크를 수락하려는 유일한 개체는 테이블 뷰입니다. 나는 이것이 파일 소유자의 아울렛에 들어가기를 원할 것입니다.

내가 여기서 무엇을 놓치고 있습니까?

도움이 되었습니까?

해결책

실제로, 문제는보기가 올바르게 할당되지 않았으며 잘못된 서브 클래스를 사용하고 있다는 것입니다. 이는 파일 소유자가 이미 .h 파일에 올바르게 지정된 iBoutlets를 볼 수 있도록 허용하지 못했습니다.

클래스 계층 구조를 수정하자마자 문제가 사라졌습니다.

당신의 도움을 주셔서 감사합니다.

다른 팁

귀하의 질문은 불분명합니다.

세그먼트 된 컨트롤에 출구를 추가하려는 경우, 즉 세그먼트 된 컨트롤에서 다른 객체로 실행되는 콘센트가있는 경우, 추가 된 배출구 특성으로 세그먼트 된 컨트롤을 서브 클래스해야합니다. 콘센트는 외부 객체에 대한 포인터이므로 클래스는 포인터에 메모리를 할당하고 상징을 만들어야합니다.

파일 소유자에서 아울렛을 세그먼트 컨트롤에 링크하려고하지만 파일 소유자의 아울렛 속성을 선택으로 보지 않는 경우 (1) 파일 소유자 클래스에서 출구를 잘못 정의했거나 (2) 파일 소유자를 적절한 클래스로 설정하십시오.

(1)의 경우, 파일 소유자 클래스에서 다음과 같은 것처럼 보이는 것이 있어야합니다.

@property (nonatomic, retain) IBOutlet UISegmentedControl *mySegmentedControl; //best

또는

@property id mySegmentedControl; //works but is sloppy unless the flexibility is required

(2) 인터페이스 빌더에서 ID 패널의 검사관을보고 적절한 클래스가 파일 소유자에게 할당되었는지 확인하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top