2010-06-24 2 views
1

Есть ли какая-нибудь причина добавления UIPicker к представлению, может каким-то образом развернуть программно созданную кнопку ее функциональности? Сначала я создал экземпляр UIButton, чтобы подвести меня к другому виду, и все было хорошо и хорошо. Затем я пошел вперед и добавил UIPicker к тому же представлению с целью выбора нескольких ключевых полей, которые затем могут быть переданы в представление, к которому привела UIButton. К сожалению, похоже, я как-то сломал свою кнопку в процессе добавления сборщика.UIButton и UIPicker

Вот конкретизации кнопки:

switchToGame = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
switchToGame.frame = CGRectMake(140,250,100,100); 
[switchToGame setTitle:@"Play God" forState:UIControlStateNormal]; 
[switchToGame setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 
[switchToGame addTarget:self action:@selector(playGame) forControlEvents:UIControlEventTouchUpInside]; 
[self.view insertSubview:switchToGame atIndex:0]; 

Метод пустяки проверяет поля сборщика, направляет их к общему одноплодной объект загружает вид игры как таковой:

Singleton *mySingleton = [Singleton sharedSingleton]; 

NSInteger numCellsRow = [theDataPicker selectedRowInComponent:0]; 
NSInteger aliveColorRow = [theDataPicker selectedRowInComponent:1]; 
NSInteger deadColorRow = [theDataPicker selectedRowInComponent:2]; 

UIColor * theAliveColor = [aliveColors objectAtIndex:aliveColorRow]; 
UIColor * theDeadColor = [deadColors objectAtIndex:deadColorRow]; 
NSInteger numCellsPerRow = [[cellRowOptions objectAtIndex:numCellsRow] intValue]; 

mySingleton.cellsPerRow = numCellsPerRow; 
mySingleton.aliveColor = theAliveColor; 
mySingleton.deadColor = theDeadColor; 

[theAliveColor release]; 
[theDeadColor release]; 

GameController * viewController = [GameController alloc]; 
self.theViewController = viewController; 
[self.view insertSubview:theViewController.view atIndex:1]; 
[viewController release]; 

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

+1

Могли бы вы добавить код инициализации UIPicker? Кроме того, кнопка реагирует визуально при нажатии? – Endemic

+0

Какой элемент управления ViewController является частью кнопки? Вы вставляете новый ViewController поверх исходного представления в индекс 1, занимает ли он весь экран (даже если части прозрачны, например, где находится кнопка). Похоже, вы могли бы поставить ViewController прямо поверх своей кнопки, что, скорее всего, приведет к аннулированию кнопки, поскольку она находится под вашим контролем viewController. – trumpetlicks

ответ

0

Из любопытства, что происходит, если заменить:

[self.view insertSubview:switchToGame atIndex:0]; 

с

[self.view insertSubview:switchToGame atIndex:1]; 

и

[self.view insertSubview:theViewController.view atIndex:1]; 

с

[self.view insertSubview:theViewController.view atIndex:0]; 

Надеемся, это может привести к правильному отображению ваших взглядов, чтобы кнопка была сверху. Также смотрите здесь большой ссылки на addSubview против insertSubview:

Difference between addSubview and insertSubview in UIView class

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

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