我有一个代码片段,如下所示,在我迁移到Swift 3之前一直工作得很好,能够在UIView周围画一个边框。我只是希望能够在UIView的底部做到这一点。
.directive('keyboardResize', function ($ionicScrollDelegate) {
return {
restrict: 'A',
link: function postLink(scope, element, attrs) {
function onKeyboardShow (e) {
element.css('bottom', e.keyboardHeight + 'px');
$ionicScrollDelegate.$getByHandle(attrs.delegateHandle).resize();
console.log("ouiaaaaaaaaa")
};
function onKeyboardHide (e) {
element.css('bottom', '');
$ionicScrollDelegate.$getByHandle(attrs.delegateHandle).resize();
};
if (ionic.Platform.isIOS()) {
ionic.on('native.keyboardshow', onKeyboardShow, window);
ionic.on('native.keyboardhide', onKeyboardHide, window);
scope.$on('$destroy', function () {
ionic.off('native.keyboardshow', onKeyboardShow, window);
ionic.off('native.keyboardhide', onKeyboardHide, window);
});
}
}
}
})
答案 0 :(得分:2)
我在viewDidLoad和awakeFromNib中使用帧大小进行计算时遇到了类似的问题。在swift 3中,一切都很有效,然后事情在swift 3中消失了
这篇文章帮助我:cornerRadius stopped working in Swift 2.3 / iOS 10 / Xcode 8
您可以将代码移至viewDidAppear,或预先调用self.view.layoutIfNeeded()
我选择了后者。