我在项目中添加了自定义中文字体,(按照here指令)。我只想为几个按钮设置字体,但是当我在代码或故事板中执行此操作时,所有其他标签,按钮,textFields ..也都设置为此字体。这只发生在ios8上,并且在ios9上运行正常。为什么会这样,有人可以帮忙吗?
这是我设置字体的代码:
app.directive('mapDirective',function(){
return {
templateUrl: '/app/user/ngApp/templates/libsView/templates/directives/map.html',
restrict: 'EA',
require: '?ngModel',
scope:{
myModel: '=ngModel'
},
controller: function ($scope) {
$scope.searchLocation = {
latitude: 48.137273,
longitude: 11.575251
};
},
link: function(scope , element, attrs , ngModel){
var mapOptions;
var googleMap;
var searchMarker;
var searchLatLng;
ngModel.$render = function(){
console.log("hhh");
searchLatLng = new google.maps.LatLng(scope.myModel.latitude, scope.myModel.longitude);
mapOptions = {
center: searchLatLng,
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
googleMap = new google.maps.Map(element[0],mapOptions);
searchMarker = new google.maps.Marker({
position: searchLatLng,
map: googleMap,
draggable: true
});
google.maps.event.addListener(searchMarker, 'dragend', function(){
scope.$apply(function(){
scope.myModel.latitude = searchMarker.getPosition().lat();
scope.myModel.longitude = searchMarker.getPosition().lng();
});
}.bind(this));
};
scope.$watch('myModel', function(value){
var myPosition = new google.maps.LatLng(scope.myModel.latitude, scope.myModel.longitude);
searchMarker.setPosition(myPosition);
}, true);
}
}
});
这是我在故事板中设置的内容:
Updation1:
这是我的Info.plist的截图,我已经将字体名称更改为“FHTHannotateSC”。
Updation2
我在ios 8系统中打印了所有字体,发现我使用的是字体系列名称(Hannotate SC)作为字体名称,真正的字体名称是“HannotateSC-W5”,所以我更正了字体名称,再次运行APP,但不幸的是,字体仍然是全局设置。
答案 0 :(得分:2)
我通过执行以下步骤解决了这个问题: 1.转到项目目标 2.选择“构建阶段”选项 3.在Copy Bundle资源中添加字体文件。
愿这对你有所帮助!