Случайный текст, отправленный UILabel - PullRequest
1 голос
/ 03 февраля 2011

Я пытаюсь создать массив, содержащий х количество литеральных строк, которые случайным образом отправят его на UILabel после нажатия UIButton.

Как мне структурировать файлы .h и .m для этого? Кроме того, каков наилучший способ генерирования случайного числа мне нужно?

Ответы [ 2 ]

1 голос
/ 03 февраля 2011

Вы получите случайное целое число для индекса, а затем просто передадите полученный объект в свойство text UILabel, например:

//assuming you already have an NSArray of strings
myLabel.text = [arrayOfString objectAtIndex:arc4random() % [arrayOfString count]];

Вы бы поместили приведенный выше код в метод, который вызывает кнопка при нажатии.

РЕДАКТИРОВАТЬ: В соответствии с просьбой, вот простой проект Xcode .

(ПРИМЕЧАНИЕ. Поскольку это случайно, есть вероятность, что вы получите тот же текст, поэтому может показаться, что текст не меняется, он меняется, но меняется на тот же текст, что и раньше, которого вы не видите)

0 голосов
/ 03 февраля 2011
- (void) applicationDidFinishLaunching:(UIApplication*)application 
{   
    //Create window
    _window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    [_window makeKeyAndVisible];
    sampleArray = [[NSArray arrayWithObjects: @"iPhone", @"iPod", @"iMac", @"Newton",@"iPad",@"Lisa",@"Mac mini",@"Delta" ,nil] retain];
    randButton = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];
    [randButton setFrame:CGRectMake(20.0f, 30.0f, 60.0f, 40.0f)];
    [randButton setTitle:@"Random" forState:UIControlStateNormal];
    [randButton addTarget:self action:@selector(randNumberGenerate) forControlEvents:UIControlEventTouchUpInside];
    [_window addSubview:randButton];    
}


- (void) randNumberGenerate
{
    NSString* string = [sampleArray objectAtIndex:(arc4random()%[sampleArray count])];
    UILabel* displayRandNum = [[UILabel alloc] initWithFrame:CGRectMake(120.0f, 30.0f, 80.0f, 30.0f)];
    displayRandNum.text = string;
    [_window addSubview:displayRandNum];
    [displayRandNum release];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...