Как добиться аналогичного пользовательского интерфейса с UITextField внутри UITableView (UITableViewCell)? - PullRequest
3 голосов
/ 08 марта 2011

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

enter image description here

Ответы [ 2 ]

4 голосов
/ 08 марта 2011

Это очень просто.Просто добавьте UITextField без цвета фона в ячейку.Добавьте приведенный ниже код в ваш метод cellForRowAtIndexPath.

UITextField *inputText = [[UITextField alloc]initWithFrame:CGRectMake(10,10,280,22)];
inputText.textAlignment = UITextAlignmentLeft;
inputText.backgroundColor = [UIColor clearColor];
inputText.placeHolder = @"Street";
[cell.contentView addSubview:inputText];
[inputText release];
1 голос
/ 08 марта 2011

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

@interface EditableCell : UITableViewCell {
   UITextField *mTextField;
}
@property UITextField *textField;

- (void)setPlaceHoldString:(NSString *)placeHolder;
@end

@implement EditableCell
@synthesize textField = mTextField;

- (void)setPlaceHoldString:(NSString *)placeHolder
{
   self.textField.placeHolder = placeHolder;
}

- (UITextField *)textField
{
  if (mTextField == nil) {
      mTextField = [[UITextField alloc] init];

      // Configure this text field.
      ...

      [self addSubView:mTextField];
  }

   return mTextField;
}

- (void)dealloc
{
  self.textField = nil;
  [super dealloc];
}
@end
...