Swift 3将自定义边框添加到UIView的其中一个边缘

时间:2016-07-18 20:56:19

标签: ios uiview swift3

我有一个代码片段,如下所示,在我迁移到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);
              });
            }

        }
      }
    })      

1 个答案:

答案 0 :(得分:2)

我在viewDidLoad和awakeFromNib中使用帧大小进行计算时遇到了类似的问题。在swift 3中,一切都很有效,然后事情在swift 3中消失了

这篇文章帮助我:cornerRadius stopped working in Swift 2.3 / iOS 10 / Xcode 8

您可以将代码移至viewDidAppear,或预先调用self.view.layoutIfNeeded()

我选择了后者。