그래서 이미지와 텍스트를 모두 UISegmentControl
에 삽입하려고합니다. 지금이 segmentControl
에 이미지를 놓으려고합니다. 아래에 제목을 넣으려면 UIImage에서 카테고리를 사용하고 있습니다. 그러나 내 이미지와 텍스트는 많은 노력을 한 후에도 여전히 잘못 배치되어 있습니다. 이전에 제대로 했습니까? 도움이 필요합니다.UISegmentControl에서 이미지를 가운데에 맞 춥니 다?
+ (id)imageFromImage:(UIImage*)image string:(NSString*)string color:(UIColor*)color
{
UIFont *font = [UIFont fontWithName:@"Helvetica" size:16];
CGSize expectedTextSize = [string sizeWithAttributes:@{NSFontAttributeName: font}];
int width = expectedTextSize.width + image.size.width + 5;
int height = MAX(expectedTextSize.height, image.size.width);
CGSize size = CGSizeMake((float)width, (float)height);
UIGraphicsBeginImageContextWithOptions(size, NO, 0);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, color.CGColor);
int fontTopPosition = (height + expectedTextSize.height)/2;
CGPoint textPoint = CGPointMake(image.size.width/2, fontTopPosition);
[string drawAtPoint:textPoint withAttributes:@{NSFontAttributeName: font}];
// Images upside down so flip them
CGAffineTransform flipVertical = CGAffineTransformMake(1, 0, 0, -1, 0, size.height);
CGContextConcatCTM(context, flipVertical);
CGContextDrawImage(context, (CGRect){ {50,0},{image.size.width-10,image.size.height-10}}, [image CGImage]);
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
잘못 배치 된 방법은 무엇입니까? 무엇이 잘못되었는지 설명해 주시겠습니까? 코드를 실행하고 코드가 무엇인지 확인하게되어 기쁩니다.하지만 어떤 문제점을 찾고 있습니까? 결국, 이미지와 문자열은 코드가 놓는 곳과 정확히 일치 할 것입니다. 코드가 표현하지 않으면 어떻게 할 것인지 어떻게 알 수 있습니까? – matt
실제로 내 제목은 세그먼트에서 훨씬 아래로 간다. 그래서 거의 보이지 않게 만든다. 그리고 이미지는 x = 50 값을주고있다. 이상적이지 않은가? . 나는 하드 코딩 된 값을주는 것을 의미합니다. 그러나 나는 현재 로선 다른 접근법을 알지 못합니다. – iSD
그래, 문제는 이미지와 문자열이 "잘못 배치"된 것이 아니라 모든 것이 세그먼트에 잘 맞지 않는다는 것입니다. – matt