Development Tip

사용자 정의 된 막대 단추 항목에 "내비게이션 항목에서 지원되지 않는 일반 스타일"경고

yourdevel 2020. 10. 4. 13:34
반응형

사용자 정의 된 막대 단추 항목에 "내비게이션 항목에서 지원되지 않는 일반 스타일"경고


Round Rect Button을 오른쪽 Bar Button Item 위치로 드래그하고 Round Rect Button에 이미지를 설정합니다. "탐색 항목에서 지원되지 않는 일반 스타일"경고를 제외하고 모두 잘 작동합니다. Bar Button Item의 스타일을 "Border"로 선택하더라도 경고는 여전히 존재합니다. Xcode 4.2의 문제는 무엇입니까? 미리 감사드립니다!

추신. Round Rect Button을 사용하여 많은 Bar Button 항목을 사용자 정의했습니다. Xcode 4.2는 Bar Button Item에 대해 하나의 경고 만 표시하고 일부는 모든 Bar Button 항목에 대한 경고를 표시합니다.


스토리 보드 파일을 수동으로 편집하여 이러한 오류를 제거하고 <navigationItem>요소의 Bar Button 항목에서 문제가되는 style = "plain"항목을 찾을 수 있었습니다.

다음에서 변경 :

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

에:

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

이것은 경고를 지 웠습니다 ... 옳고 그름.

이것은 엄청난 해킹 일 수 있으며 더 큰 관심사는 내가 그것을 근본 원인으로 만들지 않았거나 전체 문서에서 보이지 않는 바 버튼 항목을 제거하지 않았다는 것입니다. 이것은 모든 요소를 ​​하나씩 살펴보고 일부 탐색 모음이 비어 있고 (자식 없음) 많은 양의 복사 및 붙여 넣기 (cmd + c | v) 상속과 중복 (cmd + d)을 사용하지 않는 경우 발생했을 가능성이 있음을 발견 한 후였습니다. 인터페이스를 구축합니다. 원인이 근본 원인은 아니지만 문서 "개요보기"에 막대 항목이 표시되지 않는 현상이 수정되었습니다. Interface Builder 동작은 때때로 미묘한 느낌을 주며 개요 뷰에 무언가가 있어야하는 빈 컨테이너는 냄새입니다. 이제 나에게있어. 때때로 문제가되는 노드를 삭제하고 다시 빌드하면 가장 이상한 문제가 해결됩니다.

경고 : 이것을 시도하기 전에 스토리 보드를 백업하십시오 ... 버전 관리는 친구입니다 ... 스토리 보드가 완전히 꽉 차서 컴파일되지 않을 때 저는 책임을지지 않습니다. 얻을 수있는 것은 "내가 그렇게 말했어!" 어려운 방법을 몇 번 배웠지 만 부지런한 소스 제어로 두통을 덜어주었습니다.

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


경고를 클릭하고 잘못된 탐색 항목으로 이동하지 않은 경우 다음을 수행하십시오. (추가 된 댓글에서 더 안전한 방법으로 Hunter의 답변을 시각적으로 표현)

파일 브라우저에서 스토리 보드를 마우스 오른쪽 버튼으로 클릭하고 Open As Source Code

여기에 이미지 설명 입력

소스 코드 페이지에서 "plain"을 검색하고 탐색 항목에 첨부 된 것을 찾으십시오.

여기에 이미지 설명 입력

뷰의 이름을 얻으려면 검색 창에 "장면"을 입력하고 뒤로 검색 화살표를 클릭하여 해당 태그 첫 번째 인스턴스를 검색 합니다.navigationItem

여기에 이미지 설명 입력

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

여기에 이미지 설명 입력

속성 관리자로 이동하여 스타일을 Plain에서Bordered

여기에 이미지 설명 입력


문서 개요를 둘러 보면서 Plain Style에 대한 경고를 중지했습니다. 그것은 내 탐색 항목과 그 2 개의 바 버튼 항목과 그 안에 각각의 버튼을 보여주고있었습니다. 잘못된 설정이 바 버튼 항목에 있습니다. 속성 관리자에서 Style을 Plain에서 Done으로 변경했고 경고가 사라졌습니다. 참고 : 저는 XCode 5를 사용하고 있습니다.


스토리 보드를 사용하는 경우 경고를 클릭하면 문제가되는 탐색 항목으로 이동해야합니다 (문제에 대해 두 개가 있었는데 하나는 가져 갔고 다른 하나는 가져 가지 않았습니다)-스타일을 변경하고 프로젝트를 정리하십시오.

바 버튼 스타일이 일반으로 설정 됨


backBarButtonItem leftBarButtonItem하고 rightBarButtonItem있는 UINavigationItem객체. style속성이 UINavigationItem없으므로 이것이 경고의 이유입니다. barButtons를 프로그래밍 방식으로 설정해야합니다.

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 참조 의 "Customizing Appearance"섹션을 읽어보십시오 .


내비게이션 바에서 Round rect 버튼 대신 UIBarButtonItem을 사용하고 Image를 설정해보십시오.


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

탐색 모음의 모든 항목을 참조하는 오류 메시지가 나타납니다.


스토리 보드의 모든 막대 버튼이 평범하지 않은 것으로 설정되었는지 확인한 후 git 커밋을 수행하고 파생 데이터를 삭제해야합니다. 문제가 저절로 해결되지 않는 이유를 알아 내려고 영원히 보냈고 파생 데이터 폴더를 삭제하면 문제가 해결되었습니다.

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

반응형