ionic ios 实战开发 (一)

原创 13521741718 教程 ionic 实战 418阅读 2017-05-23 16:05:44 举报

一、ionic 打包IOS命令行报错及解决办法

1、Error:Source path does not exist:resources/IOS/icon/ion_40@3x.png
解决 : ionic resources
2、spawn EACCES
解决:ionic hooks add
3、ionic platform remove ios 报错
解决:npm rebuild node-sass

二、ionic 在IOS上遇到的问题

1、IOS select选择框在IOS上选中后,自动失去焦点,页面会在选择完成后,回到顶部(页面过长,在底部有select的情况下)
解决方法:给select添加onchange事件。给select添加focus();
2、给IOS 软键盘添加收回键(done)
解决方法:在$ionicPlatform.ready()中 加上if(window.cordova&&window.cordova.plugins&&window.cordova.plugins.Keyboard){
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(false);
}
3、调取原生软键盘 IOS会有一段向上的位移,防止软键盘遮挡住输入框(下面方法是阻止位移的方法)
解决方法:在$ionicPlatform.ready()中 加上if(window.cordova&&window.cordova.plugins&&window.cordova.plugins.Keyboard){
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(false);
if(ionic.Platform.isIOS()){
cordova.plugins.Keyboard.disableScroll(true);
}
}
4、在IOS上,会出现可以滑动页面,出现空白页面(其实你并没有这个页面)
解决方法:$ionicConfigProvider.views.swipeBackEnabled(false);
5、在ionic中,拿到input type="date"中的日期
解决方法:
<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>;
<body ng-app="myApp" ng-controller="myCtrl">
出生日期<input type="date" ng-model="dateTime" ng-change="time()">
</body>
<script>
var app = angular.module('myApp', []);
app.controller("myCtrl",function ($scope){
$scope.time = function(){
// 生日毫秒数
$scope.birthTime = new Date($scope.dateTime);
$scope.birthTime=$scope.dateTime.valueOf();

// 当前时间毫秒数
$scope.nowTime= new Date();
$scope.nowTime = $scope.nowTime.valueOf();
console.log($scope.nowTime);
// 年龄
$scope.age = $scope.nowTime - $scope.birthTime;
$scope.age = Math.ceil(parseFloat($scope.age/31104000000));
console.log($scope.age);

    }

})

</script>
6、在ionic中拿到日期格式数据,给input type="date"赋值
解决方法:
<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>;
<body ng-app="myApp" ng-controller="myCtrl">
出生日期<input type="date" ng-model="dateTime" >
</body>
<script>
var app = angular.module('myApp', []);
app.controller("myCtrl",function ($scope){
$scope.str = "1993-01-03" ;
$scope.str = $scope.str.split("-").join("/");
$scope.dateTime = new Date($scope.str);

})

</script>
7、未解决的问题:ios iframe引入带有视频的页面后,首次进入会无法滚动。
8、为解决的问题:ios iframe引入过长页面,在将底部滑动到屏幕四分之三处,会有几率将整个页面拉长,底部是空白。(希望ionic有禁止ios 回弹方法。就是到底部不可拉动,类似android)

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复