Ich habe ScrollView und in dieser Bildlaufansicht habe ich Tasten und eine Tabelle. Ich möchte die Positionsschaltflächen und die Größentabelle ändern, wenn mein Formular geladen wurde. Wenn die Tabelle beispielsweise aus 5 Zellen besteht, muss die Position der Schaltflächen bei 200 (y) geändert werden. Und Tabelle müssen hat height = height_table + 200.ändern Knopfposition in scrollview
Mein Code:
var yPosition: CGFloat = 0;
var scrollViewContentSize: CGFloat = 505;
var names = ["first","second","third","fourth","fifth"]
override func viewDidAppear(animated: Bool) {
self.yPosition += 40 * CGFloat(names.count)
self.scrollViewContentSize += 40 * CGFloat(names.count)
self.scrlMain.contentSize = CGSize(width: 320,height: self.scrollViewContentSize)
let btnY1: CGFloat = 40 * CGFloat(names.count) + 467
btn1.frame.origin = CGPoint(x: 210, y: btnY1)
let btnY2: CGFloat = 44 * CGFloat(names.count) + 386
btn2.frame = CGRectMake(26, btnY2, 46, 30)
let btnY3: CGFloat = 44 * CGFloat(names.count) + 427
btn3.frame = CGRectMake(26, btnY3, 46, 30)
var framelb: CGRect = lb.frame
framelb.origin.y += 40 * CGFloat(names.count)
framelb.origin.x = 110
lb.frame = framelb
tableView.contentOffset.y += 40 * CGFloat(names.count)
tableView.contentSize = CGSize(width: 304, height: tableView.contentOffset.y)
}
Was habe ich falsch gemacht?
Ich versuchte func setControlsPosition, aber nichts geschah hinzuzufügen.
Code:
func setControlsPosition(){
tableView.contentOffset.y += 40 * CGFloat(names.count)
tableView.contentSize = CGSize(width: 304, height: tableView.contentOffset.y)
let lblY: CGFloat = tableView.frame.origin.y + tableView.frame.size.height+10 //10 for spacing between tableView and label
lb.frame = CGRectMake(26, lblY, 46, 30)
let btn1Y: CGFloat = lb.frame.origin.y + lb.frame.size.height + 10 // Spacing between label and button
btn1Y.frame = CGRectMake(26, btn1Y, 46, 30)
}
//This is code work well
override func viewDidAppear(animated: Bool) {
self.yPosition += 40 * CGFloat(names.count)
self.scrollViewContentSize += 40 * CGFloat(names.count)
self.scrlMain.contentSize = CGSize(width: 320,height: self.scrollViewContentSize)
//This function is performed, but nothing changes
setControlsPosition()
}
habe ich geprüft, names.count = 5 in der Funktion setControlsPosition. Das ist richtig.
Sie haben eine Scrollansicht, und in diesem ScrollView eine TableView? –
Kannst du es erklären? Sie haben einen Scrollview mit einer Tabelle (Scrollview) und einer Schaltfläche? Der erste Bildlauf ist horizontal? –
Ich habe Scrollview und in dieser Scrollview gibt es Tabellenansicht und Schaltflächen. – Dim