小编D. *_*ick的帖子

在jQuery中获取边框宽度

我必须在容器内动态定位一个弹出元素.我正试图获得容器的边框宽度.我发现了几个像这样的问题:

如何在jQuery/javascript中获取边框宽度

我的问题已经讨论过,但我没有找到任何答案.如果属性是厚,薄或中等,您如何获得边框宽度?

街上有一句话,你通常可以期望薄,中,厚分别为2px,4px和6px,但CSS规范并不需要.

有没有人遇到过简单(或者不容易,至少一致)的方法来获取DOM元素边缘的边框宽度?

css jquery dom

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

UITextView和神秘的遗失空间

我有一个应用程序与少量UITextView各种大小的s.看起来如果一个UITextView足够小的font.pointSize足够高,那么在文本足够大以填充文本视图之后就无法添加空格.

例如:

我想弄清楚这里发生了什么,我开始输入我常用的调试字符串,我输入"What"命中空格键并且没有空格出现(但这是常见的).我键入了"the",看起来就像是在前一个单词的末尾添加了.果然,没有空间.我可以回去添加空间就好了,一旦我添加空间,我可以添加其他空格作为自动换行然后变得有效.

另一个神秘的行为是,当您双击空间时,它不会添加句点到最后.它用句点替换最后一个字符.所以,"什么"+空间+空间变成"什么".

现在,我正在用字体大小做一些有趣的事情,比如我自动调整字体大小,以便文本填充合理范围内提供的空间,但是当我禁用它时,我仍然可以重现这种行为.唯一的区别是,不是在一行上拟合,而是包裹到下一行.

例如,如果我输入"What"+ space +"the",它会出现"Whatthe",第一行带有"What",第二行带有"the"(虽然我只能看到"the"的顶部).此外,这里有一些日志信息textViewDidChange:.

Character    textView.text.length
---------    --------------------
W            1
h            2
a            3
t            4
<space>      4
t            5
h            6
<space>      7    <----  Here's a wierd one . . . now spaces all
?            8           work fine unless it's resizing
Run Code Online (Sandbox Code Playgroud)

iphone objective-c uitextview uiapplicationdelegate ios

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

C# 类可以从其自己的实现中调用接口的默认接口方法吗?

如果我有一个像这样的默认接口方法:

public interface IGreeter
{
    void SayHello(string name) => System.Console.WriteLine($"Hello {name}!");
}
Run Code Online (Sandbox Code Playgroud)

我可以让我的具体实现调用该默认方法吗?

public class HappyGreeter : IGreeter
{
    public void SayHello(string name)
    {
        // what can I put here to call the default method?
        System.Console.WriteLine("I hope you're doing great!!");
    }
}
Run Code Online (Sandbox Code Playgroud)

所以调用:

var greeter = new HappyGreeter() as IGreeter;
greeter.SayHello("Pippy");
Run Code Online (Sandbox Code Playgroud)

结果如下:

// Hello Pippy!
// I hope you're doing great!!
Run Code Online (Sandbox Code Playgroud)

事实上,从实现类中调用 C# 接口默认方法表明我可以调用我的类未实现的方法,但正如预期的那样,添加对((IGreeter)this).SayHello(name);内部的调用HappyGreeter.SaysHello会导致堆栈溢出。

c# c#-8.0 default-interface-member

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

.Net GetHashcode位移操作

我昨天查看了一些.net源代码,看到了GetHashcode的几个实现,其中包含以下内容:

(i1 << 5) + i ^ i2
Run Code Online (Sandbox Code Playgroud)

我理解代码在做什么以及为什么.我想知道的是为什么他们使用(i1 << 5)+ i代替(i1 << 5)- i.

我见过的大多数框架都使用-i,因为它相当于乘以31这是素数,但是微软的方式相当于乘以33,它有11和3作为因子,因此不是素数.

这有什么理由吗?有任何合理的假设吗?

.net hashcode bit-shift

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

配置Cognito用户池以使用SES发送电子邮件

今天早上,我在用户池设置中发现了一条以前从未注意到的警报:

在此处输入图片说明

我看着设置屏幕,有一个单选按钮:

在此处输入图片说明

我已经有一个发件人地址。如何使用CloudFormation将该设置设置为“是”?

Cognito CloudFormation文档看起来是这样的:

Type: AWS::Cognito::UserPool
Properties:
  AdminCreateUserConfig: 
    AdminCreateUserConfig
  AliasAttributes: 
    - String
  AutoVerifiedAttributes: 
    - String
  DeviceConfiguration: 
    DeviceConfiguration
  EmailConfiguration: 
    EmailConfiguration
  EmailVerificationMessage: String
  EmailVerificationSubject: String
  LambdaConfig: 
    LambdaConfig
  MfaConfiguration: String
  Policies: 
    Policies
  Schema: 
    - SchemaAttribute
  SmsAuthenticationMessage: String
  SmsConfiguration: 
    SmsConfiguration
  SmsVerificationMessage: String
  UsernameAttributes: 
    - String
  UserPoolName: String
  UserPoolTags: 
    String: String
Run Code Online (Sandbox Code Playgroud)

EmailConfiguration是我在其中设置发件人地址的地方,我想也许他们在此添加了该地址,但是EmailConfiguration文档似乎也没有任何内容。

知道如何配置Cognito用户池以将SES用于电子邮件吗?

amazon-web-services amazon-ses aws-cloudformation amazon-cognito aws-userpools

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

断言所有其余参数均未定义的类型保护

是否可以创建一个用户定义的类型保护,让编译器知道传递给它的所有参数都已定义?

我想做这样的事情:

  public static all(...values: unknown[]): values is object[] {
    return values.every(value => typeof(value) !== 'undefined');
  }
Run Code Online (Sandbox Code Playgroud)

我想使用它,以便我可以传递一组可能未定义的参数,处理它们未定义时发生的情况,否则将它们传递给需要值不是未定义的方法。

这可能看起来像这样:

    if (!ParamHelper.all(id, ...dateParts)) { return []; }
    const date = new Date(dateParts.join('-'));
    const result = await this.service.getData(assetId, date);
Run Code Online (Sandbox Code Playgroud)

当我尝试上面的简单版本时,编译器告诉我:

类型谓词不能引用剩余参数

所以,我目前认为这是不可能完成的。但是,我想在放弃之前我应该​​问一下。

谢谢!

typescript typeguards

10
推荐指数
0
解决办法
1732
查看次数

为什么我的应用小部件不会在API 3或4中更新?

我正在开发一个Android小部件,它在API Level 5或更高版本中运行良好.它在API级别1或2中根本不受支持.它应该在3和4中完全正常工作,但由于某种原因,小部件不会更新.

onUpdate方法被调用并执行而没有错误; 但是,在3和4中它不会更改小部件的文本.我几乎不知所措.有什么想法吗?

@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
    RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);

    DataAccess helper = new DataAccess(context);
    String text = helper.getCurrentText();
    helper.close();

    if (text != null)
        views.setTextViewText(R.id.widget_text, text);

    Intent intent = new Intent(context, WidgetDetailsActivity.class);
    PendingIntent pending = PendingIntent.getActivity(context, 0, intent, 0);
    views.setOnClickPendingIntent(R.id.widget, pending);

    appWidgetManager.updateAppWidget(appWidgetIds, views);
}
Run Code Online (Sandbox Code Playgroud)

java android android-widget android-appwidget

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

在 TypeScript 中,为什么异步函数不能返回 T 类型的联合 | 答应&lt;T&gt;?

我正在用打字稿构建一个 API,一些控制器操作可以同步,而另一些则不能。我想指定一个响应类型,如下所示:

type ActionResult =IHttpActionResult | Promise<IHttpActionResult>;
Run Code Online (Sandbox Code Playgroud)

然后,当我构建操作时,当它们变得基于承诺时,我可以只添加异步并完成它。

但是,打字稿抱怨“异步函数或方法的返回类型必须是全局 Promise 类型”。

为什么异步函数不能返回 的并集T | Promise<T>

这是一个例子:

type StringPromise = Promise<string>;

// These two work as you'd expect
async function getHello(): Promise<string> {
    return 'hello';
}

async function getGoodbye(): StringPromise {
    return 'goodbye';
}

type StringyThingy = string | Promise<string>;

// the next two work as you would expect them to
function getHoorah(): StringyThingy {
    return 'hoorah!';
}

function getWahoo(): StringyThingy {
  return new Promise(resolve => resolve('wahoo'));
}

// …
Run Code Online (Sandbox Code Playgroud)

promise async-await typescript union-types

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

从objective-c中的主线程返回值

我正在开发一个应用程序,我需要在后台线程中构建一些图像.在这个过程中的某个时刻,我需要从UITextView获取文本.如果我调用UITextview.text,我会收到警告,我的辅助线程不应该纠缠UIKit

这一切都很好,但我需要文本,我无法找出从主线程获得所述文本的合理方法.

我的问题是:有没有人想出一个很好的方法来从后台线程获取UI元素的属性,或者,首先避免这样做的好方法?

我把这个东西放在一起就可以了,但是感觉不对:

@interface SelectorMap : NSObject

@property (nonatomic, strong) NSArray *selectors;
@property (nonatomic, strong) NSArray *results;

@end


@interface NSObject (Extensions)
- (NSArray *)getValuesFromMainThreadWithSelectors:(SEL)selector, ...;
- (void)performSelectorMap:(SelectorMap *)map;
@end
Run Code Online (Sandbox Code Playgroud)

并实施:

#import "NSObject+Extensions.h"

@implementation SelectorMap
@synthesize selectors;
@synthesize results;
@end

@implementation NSObject (Extensions)

- (void)performSelectorMap:(SelectorMap *)map
{
    NSMutableArray *results = [NSMutableArray arrayWithCapacity:map.selectors.count];

    for (NSString *selectorName in map.selectors)
    {
        SEL selector = NSSelectorFromString(selectorName);
        id result = [self performSelector:selector withObject:nil];
        [results addObject:result];
    }

    map.results = results.copy;
}

- (NSArray *)getValuesFromMainThreadWithSelectors:(SEL)selector, ...
{ …
Run Code Online (Sandbox Code Playgroud)

multithreading objective-c ios ios6

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