2014-01-08 3 views
-4

У меня есть IBAction и CALayer (в viewDidLoad), поэтому мне нужно добавить CALayer (в разных CGPoints), когда пользователь нажимает кнопку добавления.Создайте CALayer при каждом нажатии кнопки

Заранее спасибо

+4

Что? Вы говорите: «У меня есть идея для программы, и я надеюсь, что интернет напишет это для меня?» Покажи немного, мужик! Что вы пробовали? Вы искали код, чтобы добавить слой к представлению? Вы пытались заставить этот код работать с вашим приложением? Если у вас возникли проблемы, отправьте свой код и объясните, где вы застряли, и тогда мы поможем вам. –

+0

Я уже сделал все это, но, в конце концов, проблема заключалась только в позиционировании – AFB

ответ

2

Я думаю, что вы новичок в прошивке, поэтому я ответить на ответ, иначе я предлагаю использовать Google.

Вы можете сделать это нравится:

- (IBAction)myButtonClick:(id)sender 
{ 
    static float xPos = 0; 
    static float yPos = 0; 

    CALayer *myLayer = [CALayer layer]; 
    [myLayer setBounds:CGRectMake(0.0f, 0.0f, 50.0f, 30.0f)]; 
    [myLayer setPosition:CGPointMake(xPos, yPos)]; //You need to change the value here dynamically for changing the layer position 
    [myLayer setFontSize:20]; 
    [self.view.layer addSublayer:myLayer]; 

    xPos += 50; 
    yPos += 50; 
} 
+0

Удивительный, но это не показывает новый слой при каждом нажатии на кнопку – AFB

+1

@KevinMartin: вы изменили баллы, о которых я упомянул в комментарии? Я думаю, что нет, затем слои добавляются в ту же позицию. –

+1

@KevinMartin: Пожалуйста, уточните обновленный ответ –

1

Предполагая, что у вас уже есть IBAction, просто используйте этот код:

// Create a new CALayer 
CALayer *myLayer = [CALayer layer]; 

// Modify frame 
myLayer.frame = CGRectMake(0, 0, 100, 100); 

// Modify position (change for your necessity) 
myLayer.position = CGPointMake(0.0f, 0.0f); 

// Add layer to the actual view's layer 
[self.layer addSublayer:myLayer]; 
Смежные вопросы