Już dynamicznie utworzyłem wierszprzyciski w mojej klasie implementacji kontrolera i dodałem je do widoku. Tytuł każdego przycisku jest ustawiony na odpowiednią liczbę; pierwszy przycisk ma tytuł „1”, drugi to „2” i tak dalej. Chciałbym zrobić coś z tekstem z tytułu klikniętego przycisku (w przypadku tego pytania chciałbym wypisać go za pomocą NSLog).
Czy to w ogóle jest możliwe? Oto fragment kodu, którego użyłem do utworzenia przycisków:
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// position of first button to be created
int xPos = 31;
int yPos = 404;
for(int i = 0; i < 7; i++) {
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(xPos, yPos, 30, 30)];
NSString *buttonTitle = [[NSString alloc]initWithFormat:@"%i", i + 1];
[button setTitle:buttonTitle forState:UIControlStateNormal];
[self.view addSubview:button];
[button addTarget: self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchDown];
xPos = xPos + 38;
}
}
- (void)buttonClicked:(id)sender {
// Do something when each button is clicked
// something like: NSLog(the button"s title)
}
Utworzyłem tutaj konto tylko po to, aby zadać to pytanie, mam nadzieję, że poprawnie sformatowałem kod dla tego pytania! Zapytaj, czy masz jakieś pytania dotyczące tego, z czym potrzebuję pomocy.
Odpowiedzi:
1 dla odpowiedzi № 1- (void)buttonClicked:(id)sender {
// Do something when each button is clicked
NSLog(@"Button title: %@", [sender titleForState:UIControlStateNormal]);
}