我想在Swift 3中获得一个按钮到屏幕底部的距离。
当我查看距离(alt键)时,我可以在Storyboard中看到正确的值,但不幸的是我无法手动计算它。
我正在寻找的值与"垂直间距到底部布局"中的常量相同。按钮的约束。
view.frame.maxY - randomButton.frame.maxY
给了我太高的价值。
答案 0 :(得分:5)
lastBit.data
我觉得还可以!希望它有所帮助
答案 1 :(得分:5)
如果您的按钮不是视图控制器视图的直接后继(也就是说,层次结构类似于ViewController的视图 - > SomeOtherView->按钮),则只需使用框架就无法获得正确的数学。您必须将按钮的Y位置转换为窗口对象或视图控制器主视图的坐标空间。
看看这个问题:Convert a UIView origin point to its Window coordinate system
let realOrigin = someView.convert(button.frame.origin, to: self.view)
然后应用Lucas Palaian建议的数学。
let bottomSpace = view.frame.maxY - (button.frame.height + realOrigin.y)
另外一个工作,如果有一些非常狂野和奇怪的事情,那就是拖放按钮底部约束的出口。 (从Interface Builder中的视图层次结构中选择约束,按住控制键并将约束拖动到视图控制器。)然后在代码中可以访问常量。
let bottomSpace = myButtonBottomConstraint.constant
答案 2 :(得分:0)
使用它从按钮底部到视图底部(已测试):
<script>
$('#table_article tr').on('click', function(event){
event.preventDefault();
if($(this).attr('id') != undefined){
var id = $(this).attr('id');
$.ajax({
type: 'GET',
url : "{% url 'updateligneFacture_temp' %}",
data: $("#form_facture").serialize() + "&ref_article=" + $(this).attr('id'),
success : function(data){
$('#contenue_fact').html(data);
$("#"+id).replaceWith($('#table_article tr:last'));// i use id of the tr clicked not object tr
$('.selectpicker').selectpicker();
},
error : function(){
alert("Erreur update !!");
}
});
}
});
</script>