Ios7 使用动态类型更改用户选择的字体大小和权重时,表视图中UITextField的垂直对齐错误
在使用Dynamic Type更改用户选择的字体大小和权重时,我遇到了在TableView中UITextField垂直对齐的问题 由于我的英语糟糕,我会使用截图:Upps,没有足够的声誉来发布它们-( 在自定义单元格的TableView中,我使用了Autolayout。但是禁用Autolayout对我的问题并不重要。所以我认为这不会导致问题 一切看起来都很好 当我切换到“设置”并选择另一个字体大小时,返回应用程序后,UITextFields的垂直对齐已向上移动了大约5个点,具体取决于新的字体大小 当一个Ios7 使用动态类型更改用户选择的字体大小和权重时,表视图中UITextField的垂直对齐错误,ios7,uitableview,uitextfield,xcode5,vertical-alignment,Ios7,Uitableview,Uitextfield,Xcode5,Vertical Alignment,在使用Dynamic Type更改用户选择的字体大小和权重时,我遇到了在TableView中UITextField垂直对齐的问题 由于我的英语糟糕,我会使用截图:Upps,没有足够的声誉来发布它们-( 在自定义单元格的TableView中,我使用了Autolayout。但是禁用Autolayout对我的问题并不重要。所以我认为这不会导致问题 一切看起来都很好 当我切换到“设置”并选择另一个字体大小时,返回应用程序后,UITextFields的垂直对齐已向上移动了大约5个点,具体取决于新的字体大小
[textField becomeFirstResponder]
时,它会移动到正确的位置:
当我关闭表单并再次打开时,一切正常!!!
源代码:
在viewDidLoad
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(preferredContentSizeChanged:)
name:UIContentSizeCategoryDidChangeNotification
object:nil];
及
好的,一个小问题,但看起来不专业;-)
编辑1
文本字段上方有一个标签。此标签的对齐方式保持良好
编辑2
当在TableView中底部有不可见的单元格时,我更改字体并滚动到以前不可见的单元格,这些单元格很好!细胞的再利用是问题吗?但我看不出有什么办法可以改变这一点…呃,我在几天后发现了它:-) 我必须添加方法估计权重,以确定路径,一切正常:
- (CGFloat)tableView:(UITableView*)tableView估计的权重为rowatinexpath:(nsindepath*)indepath{
- (void)preferredContentSizeChanged:(NSNotification *)notification
{
[self.tableView reloadData];
}
- (void) configureFonts:(DetailColumnCell *)cell
{
cell.txtDetail.font = [UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline];
}
// Do the minimal calculations required to be able to return an estimated row height that's
// within an order of magnitude of the actual height.
// 250 => try and error: 200.0 was enough for me at iPhone, but iPad need more
return 250.0f;