objective-c - style - ios toolbar




UIBarButtonItem 이미지가 파란색으로 유지되고 이미지의 원래 색이 유지되지 않습니까? (6)

어떻게 info.png 아이콘이 파란색으로 유지되고 그 이미지의 원래 색이 나타나지 않습니까? 아래의 코드를 사용하고 있습니다 :

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"info.png"]
                                                                             style:UIBarButtonItemStylePlain
                                                                            target:self
                                                                            action:@selector(info:)];

Swift 2.1+에서는 다음과 같이 보입니다.

    let image : UIImage? = UIImage(named:"myImage.png")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)

또는 단순히

    let image : UIImage? = UIImage(named:"myImage.png")!.imageWithRenderingMode(.AlwaysOriginal)

기본적으로 UINavigationBar의 바 버튼 항목의 이미지는 템플릿 모드를 사용하여 렌더링됩니다. 원본으로 설정할 수 있습니다.

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[[UIImage imageNamed:@"info.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]
                                                                         style:UIBarButtonItemStylePlain
                                                                        target:self
                                                                        action:@selector(info:)];

스위프트 4 :

let image = UIImage(named: "imageName")?.withRenderingMode(.alwaysOriginal)
navigationItem.leftBarButtonItem = UIBarButtonItem(image: image, style: .plain, target: self, action: #selector(leftBarButtonPressed))

스토리 보드에서 바 버튼 색조 색을 변경하십시오. 또는 스토리 보드의 이미지 색상.

색상은 예상되는 색상 (hex 또는 rgb)이어야합니다.


자산에서도 마찬가지입니다. Assets.xcassets >> 바 버튼 항목 이미지로 사용되는 이미지를 선택하십시오. 오른쪽 패널의 속성 속성을 탭합니다. orignial 이미지에 대한 렌더링을 선택하십시오. 초기에는 기본값이됩니다. 이제 컬러 이미지가 표시됩니다.


좋아, 알았어 ... 이미지를 원래 상태로 설정했다.

UIImage *image = [[UIImage imageNamed:@"info.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithImage:image
                                                                             style:UIBarButtonItemStylePlain
                                                                            target:self
                                                                            action:@selector(info:)];




uibarbuttonitem