In meiner App aktualisiere ich den Fußzeilentext meiner Tabellenansicht dynamisch, wenn ich eine Zelle auswähle. Leider scheint die Art und Weise, wie ich das tue, den Rahmen der UILabel
innerhalb meiner UIView
zu ändern. Wenn ich beispielsweise auf eine Zelle tippe, wird die Breite meiner Beschriftung zwischen 950 und 1200 angezeigt. In Wirklichkeit sollte die Breite (höchstens) die Breite der Ansicht sein. Hier ist mein Code:Etikett in UITableView Footer dynamisch festlegen und seine Größe ändern
def tableView(tableView, viewForFooterInSection:section)
(section != (self.sections.count - 1)) ? footer_view : nil
end
def tableView(tableView, heightForFooterInSection: section)
if section != (self.sections.count - 1)
footer_label.frame.size.height + 20.0
else
1.0
end
end
def tableView(tableView, didSelectRowAtIndexPath: indexPath)
tableView.beginUpdates
footer_label.text = "Details: #{updated_details}"
footer_label.sizeToFit
tableView.endUpdates
end
def footer_view
@footer_view ||= UIView.alloc.initWithFrame(CGRectZero).tap do |fv|
fv.addSubview(footer_label)
end
end
def footer_label
@footer_label ||= UILabel.alloc.initWithFrame(CGRectZero).tap do |pl|
pl.frame = CGRect.new(
[15, 10],
[self.view.frame.size.width - 30, self.view.frame.size.height]
)
pl.font = UIFont.preferredFontForTextStyle(UIFontTextStyleCaption2)
pl.numberOfLines = 0
pl.lineBreakMode = NSLineBreakByWordWrapping
pl.text = ""
pl.sizeToFit
end
end
Ich vermute, ich Aufruf sizeToFit
Teil des Problems ist?
Ist Ihr Fall ähnlich wie [dieser] (http://stackoverflow.com/questions/39825290/make-uicollectionview- Kopf-dynamische Höhe/39832379 # 39832379)? –