具有阿拉伯文本输入的动态textview

时间:2018-07-16 11:42:49

标签: ios swift3 arabic uitextviewdelegate

我正在使用动态文本视图。

    var fs = require('fs');
    var http = require('http');
    var request = require('request');

    var file;
    for(var i = 1; i <= 5; i++) {
         //CHECK IF REMOTE FILE EXISTS
         request('http://webaddress.com/filename' + i + '.jar', function (err, resp) {

         //IF EXISTS DO
         if (resp.statusCode == 200) {
             //DOWNLOAD DATA AND CREATE A NEW .JAR FILE
             file = fs.createWriteStream('D:\\filename' + i + '.jar');
             http.get('http://webaddress.com/filename' + i + '.jar', function(response) {
                  response.pipe(file);
                  file.on('finish', function() {
                      file.close();
                  });
             });
         }

         //FILE DOES NOT EXIST
         });
     }

这是用于高度和宽度的动态更改的代码。在使用“ 英语”时,此方法效果很好。问题是当我将语言更改为“ 阿拉伯语”时,文本视图必须向左增加宽度,但是仍然向右增加宽度。

1 个答案:

答案 0 :(得分:0)

首先检查下面的iPhone屏幕坐标系。 enter image description here

我说的是,如果您增加宽度,它将始终在iPhone中向右增加宽度。因此,将UITextView的初始原点设置在最右边,然后将原点的X坐标减小您计算出的“大小”,然后将新的原点和大小值设置为UITextView框架。希望你能理解。

例如:

让我们说您的初始UITextView起源为(300,30),大小为(30,30) 现在,您输入一些阿拉伯文本,然后将文本的大小计算为100。 现在您新的原点X将为300-100 = 200

so newOrigin = (200,30)
and newSize = (100,30)

现在设置UITextView frame as- textView.frame = CGRect(origin: newOrigin, size: newSize