Ios 当detailTextLabel变为多行时,TextLabel向上移动
我目前正在制作一个应用程序,用户选择一个Ios 当detailTextLabel变为多行时,TextLabel向上移动,ios,objective-c,uitableview,frame,detailtextlabel,Ios,Objective C,Uitableview,Frame,Detailtextlabel,我目前正在制作一个应用程序,用户选择一个MKMapView注释,然后将注释标题(pin)设置为右侧细节UITableViewCell中的detailtexlabel。 我的问题是,当文本较大时,detailTextLabel会变成多行。发生这种情况时,单元格(左侧的单元格)的TextLabel向上移动。以下是我尝试过的: 在cellForRowAtIndexPath方法中,我尝试通过以下代码调整帧: CGRect frame=cell.textLabel.frame frame.origin
MKMapView
注释,然后将注释标题(pin)设置为右侧细节UITableViewCell
中的detailtexlabel
。
我的问题是,当文本较大时,detailTextLabel
会变成多行。发生这种情况时,单元格(左侧的单元格)的TextLabel
向上移动。以下是我尝试过的:
- 在cellForRowAtIndexPath方法中,我尝试通过以下代码调整帧:
CGRect frame=cell.textLabel.frame代码>
frame.origin.y=cell.frame.size.height/2代码>
cell.textlab.frame=frame代码> 其中,单元格是设置为“右侧详细信息”的
UITableViewCell
- 对单元格进行子类化,然后尝试在
-(void)布局子视图中调整框架
如何阻止字体向上移动并将其保持在单元格中心?请尝试将字体大小调整为文本大小。 我想你可以用 cell.detailTextLabel.adjustFontSizeToWidth=是; 并将numberOfLines设置为0
希望这能解决问题。如果您想对UITableViewCell进行自定义布局,则需要将自定义UI元素添加到其
-[UITableViewCell contentView]
中,而不是尝试修改默认创建的标准UI元素的几何图形
因此,在您的情况下,需要添加两个UILabel
s并设置它们的位置,以便: