小编Jos*_*han的帖子

在保持返回功能的同时使键盘远离UITextView

当你按下返回键时,如何让键盘消失有很多答案,但我希望返回键的功能仍然存在,这样用户可以创建新行,但我还需要一种方法来关闭键盘.

我考虑过的一些事情是关闭键盘的手势识别器,但这可能不直观.这里的想法和最佳实践表示赞赏.

请在回答之前注意我已经有一个手势识别器,如果用户在UITextView外面点击以关闭任何键盘,但这个特定的UITextView会占用整个屏幕,因此点击它不起作用.

我目前使用的代码是从另一篇文章中获取的,如下所示.

extension UIViewController {
    func hideKeyboardWhenTappedAround() {
        let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(UIViewController.dismissKeyboard))
        view.addGestureRecognizer(tap)
    }

    func dismissKeyboard() {
        view.endEditing(true)
    }
}
Run Code Online (Sandbox Code Playgroud)

我所要做的就是在我的viewcontroller中调用这个函数,我希望tap可以从任何文本控件中为我关闭键盘.到目前为止,它一直运行良好,但点击控件本身仍然会产生键盘不会消失的问题.

关闭占据全屏的UITextView键盘的最佳方法是什么?

keyboard uitextview ios swift swift3

3
推荐指数
1
解决办法
1192
查看次数

使用Flexbox与jQueryUI的可排序

我最近一直在使用UI,我真的很喜欢使用Flexbox CSS来控制布局.我需要一种方法来制作我可以排序和拖动的盒子.

我开始尝试jQueryUI的可排序,但它似乎不适用于flexbox.它确实排序,但我认为它在新位置的可放置时有一些计算错误?无论是那个还是我做错了什么.无论哪种方式,我都会提供我的代码和JSFiddle,这样你就可以看到自己的怪异.我正在寻找的行为是漂亮的干净的可放置占位符,并且对齐就像jQueryUI的示例一样.测试点击并拖动图例.同时尝试将最左侧的项目拖动到最右侧.

如何解决这个问题,以便它可以与Flexbox一起使用?

JSFiddle:https://jsfiddle.net/95pv6cn2/5/

将此与jQueryUI及其运行方式进行比较(https://jqueryui.com/sortable/#placeholder)

HTML

<body>
   <div class="header">
     <div class="logo">Sample Login System</div>
     <div class="logoutarea">
       <div class="loggedInAs">Logged in as (joe).</div>
       <div class="logout">Logout</div>
     </div>
   </div>
   <div class="content">
     <div class="actionarea" id="sortable">
       <div class="statusset">
         <fieldset>
           <legend>Status:</legend>
           <div class="startbtn" status="off">Start Taking Calls/Text</div>
           <div class="callstatusarea">
             <span class="callstatusheader">Call/Text Status:</span>
             <span class="status" status="free">Free</span>
           </div>
         </fieldset>
       </div>
       <div class="textmessageset">
         <fieldset>
           <legend>Send Outbound Text Message:</legend>
           <div class="inputline sendtextfrom">
             <div class="label">Send Text From:</div>
             <select class="fromselect">                                  
               <option value="+19998887777">+19998887777</option> …
Run Code Online (Sandbox Code Playgroud)

css jquery jquery-ui css3 flexbox

3
推荐指数
1
解决办法
1981
查看次数

本地运行的无服务器检测

我正在运行如下命令。

serverless invoke local --function twilio_incoming_call
Run Code Online (Sandbox Code Playgroud)

当我在我的代码中本地运行时,我计划检测这一点,而不是寻找 POST 变量,而是寻找我将提供的 MOCK 文件。

但是,我不知道如何检测我是否使用此本地命令运行无服务器。

你怎么做到这一点?

我在无服务器网站上环顾四周,可以找到很多关于在本地运行但没有检测到您是否在本地的信息。

aws-lambda serverless-framework serverless

3
推荐指数
2
解决办法
1179
查看次数

带括号的 HTML 电话号码验证

我如何验证这样的模式......

(562) 810-5566 或 (714) 433-4434

请注意,它将包含括号和空格。

我当前的输入控件如下所示:

<input type="tel" data-tel-msg="Invalid Phone Number!" class="k-textbox" pattern="^\d{3}-\d{3}-\d{4}$" required />
Run Code Online (Sandbox Code Playgroud)

我知道当前模式匹配 3334445555,但这不是我正在寻找的,当我尝试添加括号时,JavaScript 控制台只是给出了错误正则表达式语法错误。

另外,如果您知道如何让它显示自定义错误消息,这也会有所帮助。目前我的 data-tel-msg 无法正常工作。

html regex validation html-input phone-number

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

UIDevice.currentDevice().identifierForVendor!.UUIDString Swift 3迁移

我在swift 2中有以下代码

let deviceid = UIDevice.currentDevice().identifierForVendor!.UUIDString
Run Code Online (Sandbox Code Playgroud)

这无法编译.我尝试了xCo​​de中自动修复的建议,我想出了这个.

 let deviceid = UIDevice.currentDevice.identifierForVendor!.UUIDString
Run Code Online (Sandbox Code Playgroud)

但它仍然无法编译.它说'UUID'类型的值没有成员UUIDString'

swift swift2 swift3 ios10 deviceid

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

用于prepareForSegue的Swift 2到3迁移

这个问题可能已经回答了,但我找不到.

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
}
Run Code Online (Sandbox Code Playgroud)

这段代码在swift 2中运行良好,但现在给我一个错误来删除覆盖.

确切错误:"方法不会覆盖其超类中的任何方法"

对于swift 3来说,这是什么新的正确方法?我似乎无法在任何地方找到任何文件.

segue swift swift2 swift3 ios10

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

Selenium-Webdriver NodeJS等效于DesiredCapabilities的Java代码

我已经搜索了位于此处的selenium-webdriver的文档(几乎没有)(http://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/index_exports_Capabilities.html

我找不到从Java到NodeJS的等效代码。

这是JAVA中的代码(我将从此处复制到“测试配置选项”部分,https://github.com/zalando/zalenium/blob/master/docs/usage_examples.md#initial-setup

DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
  desiredCapabilities.setCapability(CapabilityType.BROWSER_NAME, BrowserType.FIREFOX);
  desiredCapabilities.setCapability(CapabilityType.PLATFORM, Platform.LINUX);
  desiredCapabilities.setCapability("name", "myTestName");
Run Code Online (Sandbox Code Playgroud)

特别是,我想设置功能“名称”,以便可以使用Zalenium命名测试。

如何在NodeJS中执行此操作?

这是我当前的selnium webdriver代码,该代码可以正常工作(并已编辑以删除敏感信息),但未设置测试名称。我已经尝试过这个.withCapabilities(webdriver.Capabilities.chrome(),{“ name”,“ chrometest”}),它可以编译,但是我不认为它可以做什么?

//Run using this project (https://github.com/qmu/dockerfiles/blob/master/src/selenium-webdriver-node/example/bin/run)

"use strict";

const webdriver = require('selenium-webdriver'),
    By = webdriver.By,
    until = webdriver.until,
    test = require('selenium-webdriver/testing');

//const expect = require('expect.js');
const assert = require('assert');

var driver = new webdriver.Builder()
   .withCapabilities(webdriver.Capabilities.chrome())
   .usingServer('http://localhost:4444/wd/hub')
   .build();

console.log('starting chrome...');

driver.manage().timeouts().implicitlyWait(10 * 1000);//10 seconds

driver.get('http://somewebsite.tech');
driver.findElement(webdriver.By.name('_username')).sendKeys('**');
driver.findElement(webdriver.By.name('_password')).sendKeys('**');
driver.findElement(webdriver.By.css("button")).click();
driver.quit();

//FIREFOX TESTS
console.log('starting firefox...');

var driver = new webdriver.Builder() …
Run Code Online (Sandbox Code Playgroud)

java selenium node.js selenium-webdriver zalenium

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

续集复杂和/或

我想在 Sequelize 中做一个这样的声明。

Select * from table WHERE completed = 0 AND tracking = 1 AND ((FromNumber = +15625554444 AND ToNumber = +17145554444) OR (FromNumber = +17145554444 AND ToNumber = +15625554444))
Run Code Online (Sandbox Code Playgroud)

我将如何在 Sequelize 中执行此查询?我查看了文档,但很困惑,并且在我的尝试中一直遇到奇怪的查询。

到目前为止,我在试验时的实际代码尝试是这样的,但这并不意味着什么,因为它现在不起作用。我不确定这种类型的 AND/Or 场景的语法应该是什么样的。

var setNumberData = await models["texts"].findOne({
    where: {
      completed: 0,
      agentNumber: agentData.number,
      trackingNumber: obj.To,
      [Op.and]: [
        {to: realTo},
        {[Op.or] : [{from: agentData.number}]}
      ],
      // [Op.and]: [{to: obj.To}],
      // [Op.or]: [{from: obj.To}],
      // [Op.and]: [{to: obj.From}]
    }
  });
Run Code Online (Sandbox Code Playgroud)

javascript node.js sequelize.js

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

如何在Kendo-UI Grid中添加电话号码和电子邮件验证?

鉴于下面代码中提供的网格,如何在手机电子邮件上设置验证,以利用此页面上提供的验证和屏蔽输入功能(http://demos.telerik.com/kendo-ui/maskedtextbox/index)?

例如,如果用户键入5628103322,则应将其格式化为(562)810-3322,因为其页面上的演示显示.此外,如果未正确输入的数字,则应提供错误消息.

对于电子邮件,我们如何做到这一点?

<div id="grid"></div>
<script>
    var crudServiceBaseUrl = "/api",
    dataSource = new kendo.data.DataSource({
        transport: {
            read:  {
                url: crudServiceBaseUrl + "/companies",
                dataType: "json",
                type: "POST"
            },
            update: {
                url: crudServiceBaseUrl + "/companies/update",
                dataType: "json",
                type: "POST"
            },
            destroy: {
                url: crudServiceBaseUrl + "/companies/destroy",
                dataType: "json",
                type: "POST"
            },
            create: {
                url: crudServiceBaseUrl + "/companies/create",
                dataType: "json",
                type: "POST"
            },
            parameterMap: function(options, operation) {
                if (operation !== "read" && options.models) {
                    return {models: kendo.stringify(options.models)}; …
Run Code Online (Sandbox Code Playgroud)

javascript telerik telerik-grid kendo-ui kendo-grid

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

Swift 2到3迁移dispatch_get_global_queue

我有以下代码,我一直试图从swift 2转换为swift 3.这是我到目前为止所拥有的.

DispatchQueue.async(group: DispatchQueue.global(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),execute: {
            self.controllerDelegate?.codeToRun(progressWindowViewController: self)
        })
Run Code Online (Sandbox Code Playgroud)

我收到一个错误,指出无法使用类型(int,int)的参数列表调用'global'.我知道全局队列需要这个,除非他们在swift 3中改变它吗?在Swift 3中执行全局队列的正确方法是什么?

以前的Swift 2 Equivlent

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),{
            self.controllerDelegate?.codeToRun(self)
        })
Run Code Online (Sandbox Code Playgroud)

dispatch-async swift swift2 swift3 ios10

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

云形成将RDS端点设置为Route53 CName记录

以下是YAML格式的示例云形成文件。想法是使Route53记录依赖于RDS数据库的创建,然后在其创建后从RDS数据库的端点获取值。

我在这些参考文档中进行了大量研究,但始终无法正确获取语法。

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#aws-properties-rds-database-instance-returnvalues

您可以看到它应该有一个返回值,但是我不确定如何获取它并将其用于route53 cName记录名称。

resources:
      Resources:
        uploadBucket:
           Type: AWS::S3::Bucket
           Properties:
             BucketName: ${self:custom.uploadBucket}
        RDSDatabase:
          Type: AWS::RDS::DBInstance
          Properties:
            Engine : mysql
            MasterUsername: ${env:RDS_USERNAME}
            MasterUserPassword: ${env:RDS_PASSWORD}
            DBInstanceClass : db.t2.micro
            AllocatedStorage: '5'
            PubliclyAccessible: true
            #TODO: The Value of Stage is also available as a TAG automatically which I may use to replace this manually being put here..
            Tags:
              -
                Key: "Name"
                Value: ${self:custom.databaseName}
          DeletionPolicy: Snapshot
        DNSRecordSet:
          Type: AWS::Route53::RecordSet
          Properties:
            HostedZoneName: mydomain.com.
            Name: database-${self:custom.stage}.mydomain.com
            Type: CNAME
            TTL: '300'
            ResourceRecords:
            - [[Put End Point Here]] …
Run Code Online (Sandbox Code Playgroud)

amazon-rds aws-cloudformation amazon-route53 serverless-framework serverless

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

垂直对齐内联块高100%

首先,我将列出我的代码和JSFiddle的链接.

HTML

<div id="wrapper">
    <div id="container">
        <div id="content">
            Here is the content
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

JS

body,html{height:100%;}
#wrapper{
    height:100%;
    background-color:green;
}
#container {
    display: inline-block ;
    height:100%;
    width:100%;
    background-color:red;
    text-align:center;
    vertical-align:middle;
}
#content
{
    display:inline-block;
    background-color:blue;
}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/x11joex11/b4ZBg/

(更新的垂直中心测试内容更多)

http://jsfiddle.net/x11joex11/sDWxN/11/

我想要做的是将蓝色突出显示的DIV 垂直居中在红色div的中心.有没有办法使用内联块而不是表格单元格

包含div的高度也是100%而不是设定的像素量.

内容也将是可变高度

我试图避免由于浏览器错误而导致的表格单元显示,但如果它是我想知道的唯一选项.这个问题的任何解决方案都将是值得赞赏的.

html css vertical-alignment

0
推荐指数
1
解决办法
2290
查看次数

QTabWidget内容未扩展

附件是我的问题的QT设计师的一个例子.我的目标是让里面的任何内容(特别是lineEdit)扩展到QTabWidget的最右边.

如果您注意到我在图片中选择了标签,并且表示当前没有布局(正如红色禁止吸烟的符号所示). 当我尝试使用选项卡上方的按钮(对于水平,垂直,网格,表格等)添加布局时,无论我做什么,它都不会更改选项卡布局,但会更改最高级别我不想要的小部件布局,因为这样可以让QTabWidget能够承担任何窗口大小.

我尝试给选项卡中的元素提供水平和垂直布局,这可能会起作用但是它不起作用,因为我的下一个附加图像显示.我的预感是因为标签没有布局,任何布局都不会受到尊重.

QTabWidget尝试使用选项卡中的项目布局

任何帮助表示赞赏.我已经花了好几个小时,无法弄清楚我的生活......!

QTabWidget未扩展示例图像

以下是UI XML:

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>xMarket</class>
 <widget class="QWidget" name="xMarket">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>737</width>
    <height>421</height>
   </rect>
  </property>
  <property name="sizePolicy">
   <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
    <horstretch>0</horstretch>
    <verstretch>0</verstretch>
   </sizepolicy>
  </property>
  <property name="windowTitle">
   <string>Form</string>
  </property>
  <property name="layoutDirection">
   <enum>Qt::LeftToRight</enum>
  </property>
  <layout class="QHBoxLayout" name="horizontalLayout">
   <item>
    <widget class="QTabWidget" name="xMarketTabWidget">
     <property name="layoutDirection">
      <enum>Qt::LeftToRight</enum>
     </property>
     <widget class="QWidget" name="tab">
      <attribute name="title">
       <string>Tab 1</string>
      </attribute>
      <widget class="QLineEdit" name="lineEdit">
       <property name="geometry">
        <rect>
         <x>240</x>
         <y>30</y>
         <width>113</width>
         <height>21</height> …
Run Code Online (Sandbox Code Playgroud)

c++ xml user-interface qt-designer qt5

0
推荐指数
1
解决办法
1179
查看次数