I am experimenting with putting a UITextField inside a UITableViewCell.
Now I got two working methods.
Using addSubview method:
UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"textFieldCell"];
UITextField *textFieldView = [[UITextField alloc] initWithFrame:CGRectMake(150, 7, 150, 30)];
[textFieldView setPlaceholder:@"Placeholder"];
[cell addSubview:textFieldView];
Using setAccessoryView method:
UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"textFieldCell"];
UITextField *textFieldView = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 150, 30)];
[textFieldView setPlaceholder:@"Placeholder"];
[cell setAccessoryView:textFieldView];
In my opinion the setAccessoryView result is better looking, since the alignment is done automatically.
But my question is: It it ok to put a UITextField inside a AccessoryView? Or is there a good reason why I shouldn’t do it that way?
There is no any restriction on it by apple, but main intention to add
accessoryViewproperty inUITableViewCellclass, to be used, typically as a control, on the right side of the cell (normal state).Following sentence taken from the apple document:
If the value of this property is not nil, the UITableViewCell class uses the given view for the accessory view in the table view’s normal (default)
enter code herestate; it ignores the value of theaccessoryTypeproperty. The provided accessory view can be a framework-provided control or label or a custom view. The accessory view appears in the right side of the cell.According to this statement you can provide
UITextField(framework-provided control) asaccessoryView.