programing

사용자 정의된 막대 단추 항목과 함께 "일반 스타일이 탐색 항목에서 지원되지 않음" 경고

cafebook 2023. 9. 5. 20:47
반응형

사용자 정의된 막대 단추 항목과 함께 "일반 스타일이 탐색 항목에서 지원되지 않음" 경고

Round Rect Button을 오른쪽 Bar Button Item 위치로 끌어다 놓고 이미지를 Round Rect Button으로 설정합니다."일반 스타일이 탐색 항목에서 지원되지 않음" 경고를 제외하고 모두 잘 작동합니다.막대 단추 항목의 스타일을 "경계"로 선택해도 경고가 계속 표시됩니다.Xcode 4.2에 무슨 문제가 있습니까?

PS. Round Rect Button을 사용하여 많은 Bar Button 항목을 사용자 지정했습니다. 때로는 Xcode 4.2가 Bar Button 항목에 대해 하나의 경고만 표시하고 때로는 모든 Bar Button 항목에 대해 경고를 표시합니다.

저는 스토리보드 파일을 수동으로 편집하여 이러한 오류를 제거할 수 있었고 다음의 막대 단추 항목에서 문제가 되는 스타일="잘못된" 항목을 찾을 수 있었습니다.<navigationItem>요소

변경됨:

<barButtonItem key="rightBarButtonItem" style="plain" id="juB-DL-F9i">

받는 사람:

<barButtonItem key="rightBarButtonItem" id="juB-DL-F9i">

이렇게 하면 경고가 지워집니다...옳든 그르든

이는 엄청난 해킹일 수 있으며 더 큰 우려는 제가 근본 원인을 찾거나 전체 문서에서 보이지 않는 막대 단추 항목을 제거하지 않았다는 것입니다.이는 모든 요소를 하나씩 검토한 후 일부 탐색 모음이 비어 있고(자녀 없음) 대량의 복사 및 붙여넣기(cmd+c|v) 상속이 발생하고 중복(cmd+d)을 사용하여 인터페이스를 구축하지 않은 경우에 발생했을 가능성이 높습니다.근본 원인은 아니지만, 증상은 "개요 보기" 문서에 수정할 막대 항목이 표시되지 않는 것입니다.Interface Builder 동작은 때때로 미묘한 느낌을 주며 개요 뷰에 무언가가 있어야 하는 빈 컨테이너는 냄새입니다.음, 지금은 저에게 그렇습니다.문제가 되는 노드를 삭제하고 재구성하면 가장 이상한 문제가 해결되는 경우가 있습니다.

경고: 이 작업을 수행하기 전에 스토리보드를 백업합니다.버전 컨트롤은 당신의 친구입니다...당신의 스토리보드가 완전히 호스로 연결되어 컴파일되지 않을 때 저는 책임지지 않습니다."내가 말했잖아요!"라고 말하는 것뿐입니다.몇 번인가 어렵게 배웠지만 부지런한 소스 제어로 골치 아픈 일을 덜었습니다.

편집: 코드 블록에 대괄호 삽입

경고를 클릭해도 문제가 되는 탐색 항목으로 이동하지 않는 경우 다음을 수행합니다.(추가된 코멘트에서 더 안전한 방법으로 헌터의 답변을 시각적으로 표현)

파일 브라우저에서 스토리보드를 마우스 오른쪽 단추로 클릭하고 다음을 선택합니다.Open As Source Code

enter image description here

소스 코드 페이지에서 "일반"을 검색하고 탐색 항목에 첨부된 항목을 찾습니다.

enter image description here

보기의 이름을 가져오려면 검색란에 "scene"을 넣고 뒤로 검색 화살표를 클릭하여 위의 태그에서 첫 번째 인스턴스를 검색합니다.navigationItem

enter image description here

씬(scene)의 이름이 여기 있습니다. 이제 스토리보드 보기를 다시 다음으로 변경할 수 있습니다.Interface Builder - Storyboard위에서 설명한 오른쪽 클릭 방법을 사용하여 씬(scene) 메뉴에서 씬(scene)을 선택하고 그 안에 있는 막대 항목을 선택합니다.

enter image description here

특성 검사기로 이동하여 스타일 변경Plain로.Bordered

enter image description here

문서 개요를 찾아 일반 스타일에 대한 경고를 중지했습니다.그것은 제 탐색 항목과 두 개의 막대 단추 항목, 그리고 각각의 단추를 보여줍니다.바 버튼 항목에 문제가 있는 설정이 있습니다.검사자 속성에서 스타일을 일반에서 완료로 변경했더니 경고가 사라졌습니다.참고: XCode 5를 사용하고 있습니다.

스토리보드를 사용하는 경우 경고를 클릭하면 문제가 되는 탐색 항목으로 이동합니다(문제로 인해 두 개가 있었는데 한 개는 나를 그곳으로 데려갔고 다른 한 개는 나를 그곳으로 데려가지 않았습니다). - 스타일을 변경하고 프로젝트를 청소합니다.

Bar Button Style set to plain

backBarButtonItem leftBarButtonItem그리고.rightBarButtonItem이다UINavigationItem물건들.거기에는 없다style의 재산.UINavigationItem그래서 이것이 경고의 이유입니다.막대 버튼을 프로그래밍 방식으로 설정해야 합니다.

iOS 4:

UIButton *bt=[UIButton buttonWithType:UIButtonTypeRoundedRect];
 [bt setFrame:YourFrame];
 //[bt setImage:[UIImage imageNamed:@"backBT"] forState:UIControlStateNormal];
 [bt addTarget:self action:@selector(popViewController:) forControlEvents:UIControlEventTouchUpInside];
 UIBarButtonItem *leftButton=[[UIBarButtonItem alloc] initWithCustomView:bt];
 self.navigationItem.leftBarButtonItem=leftButton;

iOS 5+의 경우:

UIBarButtonItem 참조의 "모양 사용자 정의" 섹션을 읽습니다.

탐색 모음에서 Roundrect 버튼 대신 UIBarButtonItem을 사용하여 이미지를 설정합니다.

제 경우에는 "일반"으로 설정된 뒤 화살표 이미지였습니다.

오류 메시지는 탐색 모음의 모든 항목을 나타내는 것으로 나타납니다.

스토리보드의 모든 막대 단추가 일반을 제외한 다른 항목으로 설정되었는지 확인한 후에는 git commit을 수행하고 파생 데이터를 삭제해야 합니다.저는 문제가 해결되지 않는 이유를 알아내려고 계속 노력했고 파생된 데이터 폴더를 삭제하는 것이 해결되었습니다.

언급URL : https://stackoverflow.com/questions/10945859/plain-style-unsupported-in-a-navigation-item-warning-with-my-customized-bar-bu

반응형