Что такое iOS, эквивалентный Java / Swing FlowLayout?

  1. В качестве администратора создайте каталог:
    mkdir c:\mongo\data\db
    
  2. В качестве администратора установите службу:
    .\mongod.exe --install --logpath c:\mongo\logs --logappend --bind_ip 127.0.0.1 --dbpath c:\mongo\data\db --directoryperdb
    
  3. Запустите MongoDB:
    net start MongoDB
    
  4. Начать Mongo Shell:
    c:\mongo\bin\mongo.exe
    
0
задан Josh Caswell 16 January 2019 в 02:21
поделиться

2 ответа

В построителе интерфейсов, используя UIStackView для достижения простой альтернативы.

Вы также можете включить автоматическую разметку, чтобы сделать это естественно.

0
ответ дан E.Coms 16 January 2019 в 02:21
поделиться

Я решил написать свой собственный UIView для решения проблемы. Я сомневаюсь, что это очень надежно, но это решает мои насущные потребности. Пожалуйста, прокомментируйте, если у вас есть предложения по улучшению.

import UIKit

class FlowLayout: UIView {
private var hgapValue: CGFloat = 0.0
private var vgapValue: CGFloat = 0.0

var hgap: CGFloat {
    set(newValue) {
        hgapValue = (newValue < 0) ? -newValue : newValue
    }
    get {
        return hgapValue
    }
}

var vgap: CGFloat {
    set(newValue) {
        vgapValue = (newValue < 0) ? -newValue : newValue
    }
    get {
        return vgapValue
    }
}

//initWithFrame to init view from code
override init(frame: CGRect) {
    super.init(frame: frame)
    setupView()
}

//initWithCode to init view from xib or storyboard
required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    setupView()
}

override func didAddSubview(_ subview: UIView) {
    refreshLayout()
}

//common func to init our view
private func setupView() {
    // backgroundColor = .red
}

public func refreshLayout() {
    var x: CGFloat = 0.0
    var y: CGFloat = 0.0

    for subview in subviews {
        subview.frame.origin.x = x
        subview.frame.origin.y = y
        x += subview.frame.width + hgapValue
        if x + subview.frame.width >= (subview.superview?.frame.width)! {
            x = 0.0
            y += subview.frame.height + vgapValue
        }

    }
    setNeedsDisplay()
}

}
0
ответ дан David B. Williams 16 January 2019 в 02:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: