5

使用するデバイスに関係なく、画面上で同じ相対位置にしたいラベルがあります。たとえば、ラベルはビューの上マージンから 10% オフ、ビューの左マージンから 30% オフに配置されます。

定数は常に配置を行います。たとえば、ビューのマージンから 150 ピクセル離れているため、解像度が小さいデバイスの場合は大きくなりますが、解像度が大きいデバイスの場合は距離が短くなります...

たとえば SnapKit の助けを借りて、プログラムでこれを実現する方法はありますか?

私のコードは現在次のようになっています。

import UIKit
import SnapKit


class worldViewController: UIViewController {
      lazy var correctFieldNew = UILabel()

    override func viewDidLoad() {
        super.viewDidLoad()

            self.view.addSubview(correctFieldNew)
            correctFieldNew.backgroundColor = UIColor.blueColor()

            correctFieldNew.snp_makeConstraints { (make) -> Void in
                make.size.equalTo(CGSizeMake(90, 30))
            }
    }
}

ここで乗数を使用する必要があるように感じますが、次のように書いてもラベルは1インチも動きません。

make.top.equalTo(self.view).multipliedBy(0.1) 
4

1 に答える 1

8

正しい方法は、次を使用することです。

make.top.equalTo(self.view.snp_bottom).multipliedBy(0.1) 
于 2016-11-25T12:24:50.647 に答える