2017-01-09 5 views
1

나는 내 objective-c 애플리케이션에 UIButton을 가지고있다. ,imageEdgeInsets를 사용하여 UIButton에서 이미지의 tintColor를 변경하는 방법은 무엇입니까?

[self.myButton setImage:[UIImage imageNamed:@"imageButton.png"] forState:UIControlStateNormal]; 

나는 이미지의하려면 tintColor을 변경하려면,하지만이 변경하려고하면 내 버튼 등의 텍스트 및 이미지 추가 수정 :

- (void)centerButtonAndImageWithSpacing:(CGFloat)spacing { 
    CGFloat insetAmount = spacing/2.0; 
    self.imageEdgeInsets = UIEdgeInsetsMake(0, -insetAmount, 0, insetAmount); 
    self.titleEdgeInsets = UIEdgeInsetsMake(0, insetAmount, 0, -insetAmount); 
    self.contentEdgeInsets = UIEdgeInsetsMake(0, insetAmount, 0, insetAmount); 
} 

을 그리고 나는이 코드를 사용하여 이미지를 추가 내가 사용이 코드를 시도하고

[self.myButton setTintColor:[UIColor redColor]]; 

,하지만 작동하지 않았다 : 내 코드가 작동하지 않습니다

enter image description here

어떻게 내가하여 ImageButton의 색상을 변경할 수 있습니다 : 그것을 얻을 원하는 enter image description here

: 10

나는이 있나요?

+0

이 링크보기 http://stackoverflow.com/questions/12396236/ios-change-the-colors-of-a -uiimage –

답변

1

변경 UIButtonTypeCustom에 UIButtonType 인터페이스 빌더 또는 프로그래밍 방식으로 자신의 특성 및

myButton.backgroundColor = [UIColor redColor]; 
myButton.layer.borderColor = [UIColor blackColor].CGColor; 
myButton.layer.borderWidth = 0.5f; 
myButton.layer.cornerRadius = 10.0f; 

날의 상태를 알려 둥근 모서리를 다시

UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom]; 

변경에 ..

+0

내 단추가 IBOutlet이 스토리 보드에 추가 된 경우 어떻게 적용 할 수 있습니까? – user3745888

+0

@ user3745888 스토리 보드에서 버튼을 선택하면 유형이 표시됩니다. 사용자 정의로 변경합니다. –

+0

이 항목을 추가했지만 배경을 변경하면이 항목이 uiimage의 색상을 변경하지 않습니다. – user3745888

1

레이어를 만들고 이와 같이 단추에 ImageView에서 원하는 색상과 마스크를 설정하십시오.

for (UIView *view in myButton.subviews) { 
     if ([view isKindOfClass:[UIImageView class]]) { 
      CALayer *mask = [CALayer layer]; 
      mask.backgroundColor = [UIColor redColor].CGColor; 
      view.layer.mask = mask; 
     } 
    } 
0

다음과 같은 방법으로 투명 아이콘에 원하는 색상을 적용 할 수 있습니다.

1. 이미지를 Assets.xcassets에 드래그하고 자산 속성 검사기에서 렌더 속성을 Template Image으로 변경하십시오.

enter image description here

2.And

는 방법은 아래처럼 필요한 색조 색상을 설정합니다.

icon.tintColor = [UIColor redColor]; 

희망이 있으면 도움이 될 것입니다. 우리가 올바르게하려면 tintColor 속성을 설정이 코드 버튼

[self.myButton setImage:[[UIImage imageNamed:@"myImageButton.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateNormal]; 

다음 설정 이미지 :이 코드

imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate 

:하려면 tintColor 속성을 변경

1

용액의 renderingMode와 setImage이었다

self.myButton.tintColor = [UIColor redColor];