Ios 有没有办法修复按钮和文本的重叠?

Ios 有没有办法修复按钮和文本的重叠?,ios,swift,Ios,Swift,我在单元格的右边有一个按钮和文本。文本与按钮重叠。我希望文本在触摸按钮之前转到下一行。我该怎么做 您可以为uilabel和uibutton设置框架,如: cell.detailTextLabel.frame = CGRectMake(cell.detailTextLabel.frame.origin.x, cell.detailTextLabel.frame.origin.y, self.frame.size.width - playButton.frame.size.with - cell.

我在单元格的右边有一个按钮和文本。文本与按钮重叠。我希望文本在触摸按钮之前转到下一行。我该怎么做


您可以为uilabel和uibutton设置框架,如:

cell.detailTextLabel.frame = CGRectMake(cell.detailTextLabel.frame.origin.x, cell.detailTextLabel.frame.origin.y, self.frame.size.width - playButton.frame.size.with - cell.detailTextLabel.frame.origin.y, cell.detailTextLabel.frame.height)

但是,我认为您应该为自己创建一个自定义uitableviewcell,在那里您可以使用autolayout,这样更好

您是否尝试过重置按钮的约束并根据按钮的位置重新插入它们?我在导航栏和视图上也遇到了类似的问题,经过一个下午的搜索,我发现这是唯一的解决方案。我不明白你的意思使用
playButton.frame=CGRectMake(230,20,100,100)
,编码有点不好,我的意思是你没有利用自动布局。如果用户更改设备,则会出现问题此代码存在逻辑缺陷-每次单元格出列时,
playButton
将添加到单元格中。当您滚动tableview时,您将得到该按钮的许多副本。一个更好的方法是创建一个自定义的
UITableViewCell
子类并使用autolayout。我创建了一个自定义单元格,知道没有重叠:D,但我失去了按钮的功能。这是自定义单元格文件。如何更改playButton addTarget和.tag,使其与新的customcell playButton相对应?
cell.detailTextLabel.frame = CGRectMake(cell.detailTextLabel.frame.origin.x, cell.detailTextLabel.frame.origin.y, self.frame.size.width - playButton.frame.size.with - cell.detailTextLabel.frame.origin.y, cell.detailTextLabel.frame.height)