를 사용하여 이미지로 “button”이라는 UIButton 인스턴스를 만들었습니다 [UIButton setImage:forState:]
. button.frame이 이미지 크기보다 큽니다.
이제이 버튼의 이미지를 더 작게 조정하겠습니다. button.imageView.frame
, button.imageView.bounds
및을 변경하려고 button.imageView.contentMode
했지만 모두 효과가없는 것 같습니다.
누구든지 UIButton
의 imageView 크기를 조정할 수 있습니까 ?
나는 다음 UIButton
과 같이 만들었습니다 .
UIButton *button = [[UIButton alloc] init];
[button setImage:image forState:UIControlStateNormal];
다음과 같이 이미지 크기를 조정하려고했습니다.
button.imageView.contentMode = UIViewContentModeScaleAspectFit;
button.imageView.bounds = CGRectMake(0, 0, 70, 70);
이:
button.imageView.contentMode = UIViewContentModeScaleAspectFit;
button.imageView.frame = CGRectMake(0, 0, 70, 70);
답변
원본 포스터의 경우 내가 찾은 해결책은 다음과 같습니다.
commentButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentFill;
이렇게하면 버튼이 수평으로 확장됩니다. 수직 설정도 있습니다.
하나를 알아내는 데 몇 시간이 걸렸 으므로 ( 부동산의 이름은 매우 직관적이지 않음) 공유 할 것이라고 생각했습니다.
답변
비슷한 문제에 직면했습니다. 여기서 배경 이미지 (테두리가있는 이미지)와 사용자 지정 단추 용 이미지 (플래그)가 있습니다. 나는 깃발이 축소되고 중앙에 있기를 원했습니다. imageView의 속성을 변경하려고 시도했지만 성공하지 못했고이 이미지를보고있었습니다.
실험 중에 다음을 시도했습니다.
button.imageEdgeInsets = UIEdgeInsetsMake(kTop,kLeft,kBottom,kRight)
다음과 같은 예상 결과를 얻었습니다.
답변
답변
사용하다
button.contentMode = UIViewContentModeScaleToFill;
아니
button.imageView.contentMode = UIViewContentModeScaleAspectFit;
최신 정보:
@Chris가 말했듯이,
setImage : forState :에 대해이 작업을 수행하려면 다음을 수행하여 수평으로 크기를 조정해야합니다. myButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentFill;
답변
UIButton *button= [[UIButton alloc] initWithFrame:CGRectMake(0,0,70,70)];
button.buttonType = UIButtonTypeCustom;
UIImage *buttonImage = [UIImage imageNamed:@"image.png"];
UIImage *stretchableButtonImage = [buttonImage stretchableImageWithLeftCapWidth:12 topCapHeight:0];
[button setBackgroundImage:stretchableButtonImage forState:UIControlStateNormal];
답변
이 해결책을 찾았습니다.
1) 다음 메서드를 하위 클래스 UIButton
+ (id)buttonWithType:(UIButtonType)buttonType {
MyButton *toReturn = [super buttonWithType:buttonType];
toReturn.imageView.contentMode = UIViewContentModeScaleAspectFit;
return toReturn;
}
- (CGRect)imageRectForContentRect:(CGRect)contentRect {
return contentRect;
}
그리고 그것은 잘 작동합니다.
답변
이상하게도 나를 위해 일한 유일한 콤보 (iOS 5.1)는 …
button.imageView.contentMode = UIViewContentModeScaleAspectFit;
과
[button setImage:newImage forState:UIControlStateNormal];