我创建了表视图单元格,其中包含我的自定义文本字段,UITextField的子类。当我向我的单元格添加文本字段时,我设置了
textField.textAlignment = NSTextAlignmentCenter;
我在文本字段上有占位符。当我的细胞出现时,它的对齐是左和中间之间的平均值。然后编辑后成为中心。在创建单元格后我需要中心对齐。任何人都可以帮忙解决这个问题吗?
修改
我的CellForRowAtIndexPath方法:
- (CTKMultiColumnTableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *reuseIdentifier = [NSString stringWithFormat:@"cell%d",indexPath.section];
CTKMultiColumnTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier];
if (cell == nil) {
cell = [[CTKMultiColumnTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier];
[cell setFrameWithRect:CGRectMake(0, 0, tableView.frame.size.width, 34)];
}
cell.textField.placeholder = [_placeholders objectAtIndex:tableView.tag];
cell.delegate = self;
cell.relatedTableView = tableView;
return cell;
}
和willDisplayCell方法的一部分
- (void)tableView:(UITableView *)tableView willDisplayCell:(CTKMultiColumnTableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
switch (tableView.tag) {
case 4:
cell.textField.leftView = nil;
cell.textField.rightView = nil;
cell.textField.textAlignment = NSTextAlignmentCenter;
cell.textField.keyboardType = UIKeyboardTypeNumberPad;
cell.isPickable = NO;
cell.valueLimitMin = 0;
cell.valueLimitMax = 1000;
if (((CTKRoom *)[_roomsArray objectAtIndex:indexPath.section]).heatedArea) {
cell.textField.text = [NSString stringWithFormat:@"%@", ((CTKRoom *)[_roomsArray objectAtIndex:indexPath.section]).heatedArea];
}
else cell.textField.text = @"";
break;
}
这部分是将属性设置为我的单元格的示例
答案 0 :(得分:0)
我解决了我的问题。原因是
myTextField.rightViewMode = UITextFieldViewModeAlways;
在我的情况下,右视图是必要的,所以如果不需要,我设置
myTextField.rightView.frame = CGRectMake(0, 0, 1, 0);