2016-06-17 1 views

답변

1

자산 카탈로그에서 이미지 렌더링 모드를 설정해보십시오.

iOS에서 컨텍스트에 따라 렌더링 모드를 선택하면 이미지 렌더링 모드가 템플릿으로 설정되면 UIImageView 이미지 렌더링 모드가 원본으로 설정됩니다.

속성 관리자에서 강제로 동작 할 수 있습니다.

먼저 자산 카탈로그에서 이미지를 선택하십시오. 검사기 하단에 이 표시됩니다 Render as.

Template image은 모든 색을보기의 색조보다 우선합니다.
이미지 색상을 유지하려면 Original image을 선택하십시오. Default은 위에서 설명한 동작입니다.

물론 내 이미지는 오렌지색 이어야합니다 (내 타이어가 녹색과 같습니다).

enter image description here

+0

멋지게 보입니다. 따라서 템플릿을 선택하면 이해할 수 있으면 아이콘의 색상을 무시할 수 있습니다. 그러나 어떤 방법을 사용해야합니까? – Jigen

+0

색상의 의미에 따라 다릅니다. 오렌지가 앱의 글로벌 색조이거나 시간이 지남에 따라 바뀌면 템플릿이 좋은 해결책입니다.보기/창에서'tint' 속성을 변경하여 색상을 바꿀 수 있기 때문입니다. 색조가 상속되므로 하위 뷰는 재정의하지 않을 때 부모와 동일한 색조가됩니다. 색조는 이미지 속성이 아닌 UIView 속성입니다. – Crazyrems

1

가장 간단한 방법은 아이콘의 색상을 변경하고 마침내 두 개의 서로 다른 북마크 버튼을 설정 내 문제를 해결

searchBar.setImage(UIImage(named: "Filter_icon")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal), forSearchBarIcon: .Bookmark, state: .Normal) 
searchBar.showsBookmarkButton = true 
0

원래 색상으로 렌더링입니다. 청색과 회색이 하나 있습니다.

searchbar.setImage(UIImage(named: "Filter_icon_blue"), forSearchBarIcon: .Bookmark, state: .Normal) 
searchbar.setImage(UIImage(named: "Filter_icon_gray"), forSearchBarIcon: .Bookmark, state: .Normal) 

assets.xcassets에서 image_set을 두 개 만들고 프로그래밍 방식으로 변경했습니다.