小编Fra*_*ero的帖子

如何在ios-chart上隐藏0值?

我知道在MPAndroidChart使用值格式化程序的自定义类时,可以在值等于0时隐藏y值(MPAndroidChart:在堆积条形图中隐藏0值标签).

尽管如此,我无法创建相同的类Swift 3.0或获得任何其他方式来执行此操作.我试图将自定义类"翻译" JavaSwift 3.0没有成功(我可以复制我尝试过的代码,但是它充满了错误).

ios-chart库值等于0时,是否可以隐藏y值?

PS:我正在使用Swift 3.0.

提前致谢!

ios swift ios-charts

13
推荐指数
1
解决办法
2922
查看次数

如何使用Alamofire发出同步请求?

我正在尝试使用同步请求Alamofire.我查看了Stackoverflow并发现了这个问题:使异步alamofire请求同步.

我看到接受的答案用于completion使Alamofire请求同步但我无法使其工作.这是我的简化代码:

func loadData(completion: (Bool)) -> (Int, [String], [String], [String]){

    Alamofire.request(url!, method: .get, parameters: nil, encoding: JSONEncoding.default, headers: nil).responseJSON { response in

        switch(response.result) {
        case .success(_):
            if let JSON = response.result.value as! [[String : AnyObject]]!{
                 //Here I retrieve the data
            }

            completion(true)
            break

        case .failure(_):
            print("Error")
            completion(false)
            break  
        }
   }

   return (numberRows, nameArray, ageArray, birthdayArray)
}
Run Code Online (Sandbox Code Playgroud)

使用此代码,我在尝试制作时遇到错误completion(bool value).我得到的错误如下:

无法调用非函数类型'Bool'的值

我尝试使用很多示例使用完成来同步获取值(因为我需要先检索数据才能在表上显示它,同时获取该表的行数)但没有成功.

如何使用该完成来获得同步响应?

提前致谢!

synchronous ios swift alamofire

12
推荐指数
1
解决办法
1万
查看次数

如何在ios-chart上为每列添加名称?

我做了BarChartios-chart库.因为它类似于MPAndroidChart我创建它们没有很多问题,但我无法在每个列的上方添加一个名称/标签.

在Android上,将值设置为BarDataSet我使用的相应值后:

BarData data = new BarData(labels, dataset); 
Run Code Online (Sandbox Code Playgroud)

其中标签是每列的名称,数据集是BarDataSet.

问题是,Swift我无法找到为每列添加标签的方法.这是我目前的代码(一个简单的例子):

@IBOutlet weak var barChartView: BarChartView!

var entries = [ChartDataEntry]()
entries.append(BarChartDataEntry(x: 1.0, yValues: [1.0], label: "Monday"))
entries.append(BarChartDataEntry(x: 2.0, yValues: [4.0], label: "Tuesday"))

let charDataSet = BarChartDataSet(values: entries, label: "legend")
let charData = BarChartData(dataSets: [charDataSet])
barChartView.data = charData
Run Code Online (Sandbox Code Playgroud)

这是结果:

在此输入图像描述

但是我无法将值MondayTuesday值放在1.04,1.12,1.20 ......值.此外,我无法在BarChartData功能上添加标签(如上Android).

我应该在哪里添加星期一和星期二的值,以显示在每列的上方?

提前致谢!

ios swift ios-charts

11
推荐指数
1
解决办法
929
查看次数

如何使用Javascript创建Blockly块的实例?

Blockly在一个customBlocks.js文件中完成了以下块:

Blockly.Blocks['move_right'] = {
  init: function() {
    this.appendValueInput("PIXELS")
        .setCheck("Number")
        .appendField("move to right");
    this.setInputsInline(true);
    this.setPreviousStatement(true, null);
    this.setNextStatement(true, null);
    this.setColour(290);
    this.setTooltip('');
    this.setHelpUrl('http://www.example.com/');
  }
};

Blockly.JavaScript['move_right'] = function(block) {
  var value_pixels = Blockly.JavaScript.valueToCode(block, 'PIXELS', Blockly.JavaScript.ORDER_ATOMIC);
  // TODO: Assemble JavaScript into code variable.
  var codeMoveRight = "$(\"#moveDiv\").animate({\n " + 
                        "left: \"+=" + value_pixels + "px\"\n" +
                      "},1000);\n";  
  return codeMoveRight;
};
Run Code Online (Sandbox Code Playgroud)

div根据您在其上设置的像素数向右移动.您将不得不在math_number块内放置一个块move_right来放置您想要移动它的像素数量.

我在我的html文件上有一个workspace注入的变量Blockly workspace:

var workspace = Blockly.inject('blocklyDiv',
              {toolbox: document.getElementById('toolbox')}); …
Run Code Online (Sandbox Code Playgroud)

javascript blockly

10
推荐指数
1
解决办法
2704
查看次数

如何减少MPAndroidChart用于显示数据的时间?

我有一个应用程序,我有一个BarChart和一个CombinedChart但他们花了1-1.5秒,直到他们显示数据图表.

我从数据库中检索数据,而Volley正在请求获取数据,但我希望两个图表用于显示数据的时间将尽可能减少.

我想它可以通过导入的形式将库引入项目:

compile 'com.github.PhilJay:MPAndroidChart:v2.2.5'
Run Code Online (Sandbox Code Playgroud)

但我找不到任何其他方式来导入该库,或者是否正确的方法来执行此操作.也许这可能与我为此目的使用Volley的事实有关.

我该怎么做才能减少两个图表显示数据所花费的时间?它可以与我导入的表单相关吗?

任何建议将不胜感激.

提前致谢!

android mpandroidchart

10
推荐指数
1
解决办法
512
查看次数

为什么我的StringRequest总是在onErrorResponse方法?

我正在尝试从Android执行POST请求以在我的内容中插入一些信息phpmyadmin.

我在用什么

  • Slim 与phpmyadmin存储的数据库建立连接和查询.
  • XAMPP模拟本地服务器.
  • Volley使用来自Android的请求.

Slim post函数对我没有任何问题,因为如果我POST在Postman应用程序上使用它,那么数据就会正确地插入到数据库中.

url可以接受由斜杠分隔的两个参数/.这里有一个例子:

http://localhost:8000/insert/Peter/25
Run Code Online (Sandbox Code Playgroud)

其中我在数据库中插入名为Peter且年龄为25的新用户.

当我尝试使用Volley从Android调用相同的url时出现问题,因为它始终用于onErrorResponse方法.

这是我必须使用Android的请求的代码:

RequestQueue queue = Volley.newRequestQueue(getContext());

String url = "http://localhost:8000/insert/" + name + "/" + age;
StringRequest postRequest = new StringRequest(Request.Method.POST, url,
     new Response.Listener<String>()
     {
         @Override
         public void onResponse(String response) {
            Log.d("Response", "works well");
         }
     },
     new Response.ErrorListener()
     {
         @Override
         public void onErrorResponse(VolleyError error) {
            Log.d("Response", "" + error.getMessage());
         }
     }
);

queue.add(postRequest);
Run Code Online (Sandbox Code Playgroud)

但它总是采用这种onErrorResponse方法.

我检查了什么

  • 我运行XAMPP的计算机与智能手机的WIFI相同.
  • 更改localhost以获取我的计算机的IP也不会改变结果.

更新:

我注意到我在网址上使用的是以太网适配器IP而不是WIFI. …

android slim

10
推荐指数
1
解决办法
1258
查看次数

如何在元素的伪元素之前添加svg作为内容?

我试图在:before伪元素的内容中使用svg .

为此,我正在关注这个问题:有没有办法将SVG用作伪元素中的内容:before或:after但是我无法使其工作.

我只有一个简单的SVG:

<svg height="100" width="100">
  <circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的:

示例1:在content属性上插入svg

#square{
   background-color: green;
   width: 100px;
   height: 100px;
}

#square:before{
   display: block;
   content: url("data:image/svg+xml;charset=UTF-8,<svg height='100' width='100'><circle cx='50' cy='50' r='40' stroke='black' stroke-width='3' fill='red' /></svg>");
   background-size: 28px 28px;
   height: 28px;
   width: 28px;
}
Run Code Online (Sandbox Code Playgroud)
<div id="square"></div>
Run Code Online (Sandbox Code Playgroud)

示例2:使用base64编码

#square{
   background-color: green;
   width: 100px;
   height: 100px;
}

#square:before{
   display: block;
   content: url("data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMCIgd2lkdGg9IjEwMCI+PGNpcmNsZSBjeD0iNTAiIGN5PSI1MCIgcj0iNDAiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMyIgZmlsbD0icmVkIiAvPjwvc3ZnPg==");
   background-size: 28px 28px;
   height: 28px;
   width: 28px;
}
Run Code Online (Sandbox Code Playgroud)
<div id="square"></div>
Run Code Online (Sandbox Code Playgroud)

如您所见,这些示例中的任何一个都不起作用,所以我确信我遗漏了一些东西.

我做错了什么? …

css svg css3

10
推荐指数
1
解决办法
2万
查看次数

如何在Swift上的两个子视图控制器之间切换?

我试图View Controllers在一个特定的两个孩子之间切换Container View.我有一个Navigation Controller菜单(Table View用于制作菜单的不同选项).

每次我点击菜单的一个选项,我想改变的孩子Container View,但我得到上面的孩子Navigation barTable View(未示出它们,但它们是新的子视图控制器下).

我的Main.storyboard的方案是这样的:

Navigation Controller --> View Controller (With 2 Container View, 1 for Table View
                                           and the other to set master View Controller)
                                         |
                                         |
                               ------------------------
                               |                      |
                          View Controller        Table View
                            (id: master)

                   View Controller (id: Home)   View Controller (id: screen2)
Run Code Online (Sandbox Code Playgroud)

我在tableView函数上有以下代码(我在其中检测单击菜单的选项时)来更改容器视图的子视图控制器:

let currentController = self.navigationController?.visibleViewController //container

var oldChild = (currentController?.childViewControllers.last!)! as UIViewController //master
let …
Run Code Online (Sandbox Code Playgroud)

uinavigationcontroller ios uistoryboardsegue uicontainerview swift

9
推荐指数
1
解决办法
4707
查看次数

如何将原始int传递给我的AsyncTask?

我想要的是将一个int变量传递给我AsyncTask.

int position = 5;
Run Code Online (Sandbox Code Playgroud)

我宣布我的AsyncTask是这样的:

class proveAsync extends AsyncTask<int, Integer, Void> {

    protected void onPreExecute(){
    }

    protected Void doInBackground(int... position) {
    }

    .
    .
    .
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误,它是以下内容:

类型参数不能是基本类型

我只能传递一个int[]Integer变量,但从来没有int变量,我AsyncTask像这样执行:

new proveAsync().execute(position);
Run Code Online (Sandbox Code Playgroud)

我能做些什么来传递这个position吗?

提前致谢!

java android android-asynctask

8
推荐指数
2
解决办法
5188
查看次数

inputType ="number",包含多行

我有以下内容EditText:

<EditText
     android:id="@+id/txt1"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_gravity="center"
     android:layout_marginLeft="20dp"
     android:layout_marginRight="20dp"
     android:layout_marginTop="15dp"
     android:background="@drawable/rounded_corners"
     android:hint="Txt1"
     android:inputType="number"
     android:minLines="2"
     android:text=""/>
Run Code Online (Sandbox Code Playgroud)

rounded_corners它在哪里:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <stroke
        android:width="1dp"
        android:color="#FFFFFFFF" />

    <solid android:color="#FFFFFFFF" />

    <padding
        android:left="1dp"
        android:right="1dp"
        android:top="1dp" />

    <corners android:radius="5dp"/>

</shape>
Run Code Online (Sandbox Code Playgroud)

问题是,当我添加时,我不知道如何EditText 更大(它只显示一行)inputType="number".我的意思是它可以显示多行.

我试过了什么

1)更改layout_heightmatch_parent.

2)inputType属性添加值textMultiLine.

3)设置固定高度android:height.

4)正如您在上面的代码中看到的,我还添加了android:minLines属性.

5)我也试过设置一些行android:lines.

这些方法都没有解决我的问题所以任何帮助都会非常感激.

提前致谢!

android android-layout

8
推荐指数
1
解决办法
915
查看次数