скругленный прямоугольник вокруг каждого слова iPhone - PullRequest
0 голосов
/ 01 ноября 2011

Я должен создать прямоугольник со скругленными углами вокруг каждого слова метки, например:
tag
Могу ли я использовать такой метод, как stretchableImageWithLeftCapWidth:topCapHeight: или установить его в качестве фона?

Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 01 ноября 2011

Растяжение изображения приведет к уродливому рендерингу, особенно если у вас очень длинное слово.
Я бы обработал так:

Создать эту иерархию:

- UIView theView
-- UIView imagesView
--- UIImageView startBackgroundImage
--- UIImageView endBackgroundImage
-- UILabel theLabel

theView будет видом, содержащим вашу метку и фоновые изображения, theLabel будет содержать саму метку, а imagesView содержит все необходимые вам изображения.

Итак, сначала мы установим текст метки и получим размер строки:

theLabel.text = @"Food";
theLabel.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"content.png"]];
CGSize textSize = [[theLabel text] sizeWithFont:[theLabel font]];

Наконец, мы установим размер ViewView (у imagesView будет тот же самый размер) и положение startBackgroundImage и endBackgroundImage.

int height = startBackgroundImage.image.size.height;

int startBackgroundImageWidth = startBackgroundImage.image.size.width;
int endBackgroundImageWidth = endBackgroundImage.image.size.width;
theView.frame = CGRectMake(xYouWant,yYoutWant,textSize.width+startBackgroundImageWidth+endBackgroundImageWidth,height);
startBackgroundImage.frame = CGRectMake(0,0,startBackgroundImage.frame.width,startBackgroundImage.frame.height);
endBackgroundImage.frame = CGRectMake(textSize.width+endBackgroundImageWidth,0,endBackgroundImage.frame.width,endBackgroundImage.frame.height);

Не могу загрузить изображение, поэтому я постараюсь описать: startBackgroundImage будет содержать левое изображение (округлено)
endBackgroundImage будет содержать право изображения (округлено)
И content.png будет содержать изображение шириной в несколько пикселей, которое будет использоваться в качестве шаблона.

0 голосов
/ 01 ноября 2011

Вы не можете легко сделать это по буквам.Я хотел бы создать родительское представление, затем разделить текст на слова и добавить метку для каждого.Тогда ваш подход к растягивающемуся изображению будет работать для отдельных ярлыков.

...