15

Может ли кто-нибудь помочь мне, я хочу добавить одно и то же изображение несколько раз по горизонтали с одинаковой высотой и шириной. Важно, что я динамически создаю образ изображения. Я хочу использовать одинаковый вид изображения для всех изображений! Это изображение enter image description here Я хочу сделать это горизонтально enter image description here, но нужна только одна строка.Как повторить изображение в динамическом создании в ios

+0

Вы используете scrollview? –

+0

ya scrollview используя –

+0

что вы хотите достичь? Вопрос непонятный ... – preetam

ответ

16

это с пыльник Метод с использованием stretchableImageWithLeftCapWidth как таким образом: -

UIImage *backgroundImage = [[UIImage imageNamed:@"SheetBackground.png"] stretchableImageWithLeftCapWidth:0.5 topCapHeight:0]; 

, как вол вашего примера необходимости: -

UIImage *backgroundImage = [[UIImage imageNamed:@"q4Ses.png"] stretchableImageWithLeftCapWidth:0.5 topCapHeight:0]; 

    [_scro setBackgroundColor:[UIColor colorWithPatternImage:backgroundImage]]; 

И используя изображение enter image description here

Это выход, как: -

enter image description here

[введите описание изображения здесь] [4]

вы можете установить это изображение как выше способ любому из UISCrollview, UIView, кнопки как пар! для этого вам не нужно forloop.

UPDATE: -

Это выше код для всего фона, если вы хотите добавить только один lineof подряд, то вы должны создать один UIView, как пар вам нужно Hight и добавить установить его colorWithPatternImage и добавить как Беллоу

UIImage *backgroundImage = [[UIImage imageNamed:@"q4Ses.png"] 
    stretchableImageWithLeftCapWidth:1 topCapHeight:0]; 
UIView *v=[[UIView alloc] 
    initWithFrame:CGRectMake(0, 0, _scro.frame.size.width, 45)]; 
[v setBackgroundColor:[UIColor 
    colorWithPatternImage:backgroundImage]]; 
[_scro addSubview:v]; 

И это Выход: -

enter image description here

3

Сделайте вид на высоту изображения. Но это представление может иметь любую ширину.

Затем установите изображение плитки в этом виде с помощью следующего кода.

UIImage *tiledImage = [UIImage imageNamed:@"myTiledImage.png"]; 
self.view.backgroundColor = [UIColor colorWithPatternImage:tiledImage]; 

Это позволит получить изображение, разбитое несколько раз по горизонтали.

Если вид распространяется изображение везде на экране, то вам необходимо добавить следующий код в ваш взгляд

self.view.clipToBounds = YES; 
+0

Уверены ли вы в этом? ... его не горизонтально ... все вокруг парка ... –

+0

Что вы подразумеваете под «всем вокруг парка»? Я не получу вас ... – CodenameLambda1

+0

Ni id on wanna apply background полностью требуется ширина 30, высота 40 –

0
UIScrollView *myScrollView=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)]; 

CGFloat scrollWidth = 0.f; 
for (int i=0;i<10;i++)//i=10,put as many image number u want to display 
{ 

    imageView = [[UIImageView alloc] initWithFrame: 
          CGRectMake(scrollWidth, 0, 80, 60.f)]; 
    imageView.image=[UIImage imageNamed:@"urimagename"]; 
    imageView.tag=i; 
    [myScrollView addSubview:imageView]; 

    scrollWidth += 100; 
} 
myScrollView.contentSize = CGSizeMake(scrollWidth, 100); 

EDIT:

Вы можете добиться этого в еще один способ.

Ответ на CodenameLambda1 лучше, чем приведенный выше. Но все же некоторые изменения должны быть выполнены в ответе @ CodenameLambda1 .., поскольку требование SOP отображать его в scrollview. Поэтому вместо self.view использовать scrollview.

UIScrollView *vie=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 60)]; 
UIImage *tiledImage = [UIImage imageNamed:@"login"]; 
vie.backgroundColor = [UIColor colorWithPatternImage:tiledImage]; 
vie.contentSize=CGSizeMake(1400,60); 
vie.clipsToBounds = YES; 

[self.view addSubview:vie]; 

 Смежные вопросы

  • Нет связанных вопросов^_^