Отображать пользовательский UIView поверх UIViewController - PullRequest
0 голосов
/ 25 ноября 2010

Я ищу мнения о том, как лучше реализовать следующие функции.У меня есть UIViewController с UITableView в сгруппированном формате.Каждый TableViewCell содержит NSString.Когда пользователь нажимает на ячейку, которую я хотел бы, в моем методе didSelectRowForIndexPath появляется всплывающее окно UIView с одним текстовым полем, которое предварительно заполняется строкой NSS в указанной ячейке, которая была выбрана.Причина отображения UIVIew заключается в том, что я хочу, чтобы он был размером около 280 x 380, и все еще видел некоторые из UITableView.

Цель состоит в том, чтобы он вел себя как ModalViewController, за исключением iPhone.Кто-нибудь есть какие-либо предложения о том, как реализовать это поведение или есть лучшая реализация?

Ответы [ 3 ]

1 голос
/ 25 ноября 2010

Заранее создайте UIView (с UITextField внутри) и сделайте его скрытым:

// Of course, these instance variable names are made up, and should be changed
self.myModalView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 280, 380)] autorelease];
[self.view addSubview:self.myModalView]

self.myTextField = [[[UITextField alloc] init] autorelease];
[self.myModalView addSubview:self.myTextField];

self.myModalView.hidden = YES;

Затем, когда пользователь выбирает строку, заполните текстовое поле и отобразите модальное представление:

- (void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath {
  // Replace stringAtIndexPath with however your data source accesses the string
  NSString* myString = [self stringAtIndexPath:indexPath];
  self.myTextField.text = myString;
  self.myModalView.hidden = NO;
}

Если вы хотите получить фантазию, вы можете сделать некоторые вещи из CATransition, прежде чем показывать модальное представление.

0 голосов
/ 25 ноября 2010

Используйте некоторую анимацию для реализации этого эффекта. Когда появляется UIView, он поднимает UITableView, как некоторые поведения клавиатуры. Итак, вы должны добавить SubSubView в self.view и изменить фрейм UITableView. И UITableView должен быть дочерним представлением self.view, если self.view совпадает с UITableView, то у вас нет self.view для добавления этого UIView.

0 голосов
/ 25 ноября 2010

Я думаю, вы можете использовать «addSubView» в UITableView.Добавьте ModalView к вашему UITableView напрямую.Это будет работать.

...