Итак, у меня есть кнопка настроек, и она должна быть добавлена в ячейку с именем текущего пользователя. Однако, похоже, он случайно добавляется в ячейку. В заявлении, в котором я создаю кнопку, это только , созданный однажды, однако он добавляется к нескольким ячейкам. Я добавил изображения проблемы, и ps текущее имя пользователя «test», поэтому кнопка настроек не должна находиться в той же ячейке, что и матовый короткий пользователь. Спасибо и ниже - это прилагаемый код функции, в которой я создаю и добавляю кнопку subview.Кнопка в ячейке добавляется, когда она не должна быть
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell : UITableViewCell? = tableView.dequeueReusableCellWithIdentifier("chatCell") as? UITableViewCell
if cell == nil {
cell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "chatCell")
}
cell!.selectionStyle = UITableViewCellSelectionStyle.None
let screenSize: CGRect = UIScreen.mainScreen().bounds
let screenWidth = screenSize.width
let screenHeight = screenSize.height
var sectionTitle = self.friendSectionTitles[indexPath.section]
var friendArray: [String]! = friendDict[sectionTitle]
var friend = friendArray[indexPath.row]
if sectionTitle == "me" && friend == PFUser.currentUser().username {
var settingsButton: UIButton = UIButton.buttonWithType(UIButtonType.System) as UIButton
settingsButton.frame = CGRectMake(screenWidth - 100 , 5, 50, 30)
settingsButton.addTarget(self, action: "settingsButtonTapped:", forControlEvents: UIControlEvents.TouchUpInside)
settingsButton.setTitle("Settings", forState: UIControlState.Normal)
cell!.addSubview(settingsButton)
}
cell!.textLabel!.text = friend
return cell!
}
Вам нужно понять повторное использование ячеек. Когда ячейка с добавленной кнопкой повторно используется (в некоторой другой строке), кнопка все равно будет там. – rdelmar