小编Pat*_*bee的帖子

在jQuery事件中控制'this'的值

我使用jQuery创建了一个'control',并使用jQuery.extend来帮助尽可能地将其作为OO.

在我的控件初始化期间,我连接各种点击事件,如此

jQuery('#available input', 
            this.controlDiv).bind('click', this, this.availableCategoryClick);
Run Code Online (Sandbox Code Playgroud)

请注意,我将'this'作为bind方法中的data参数.我这样做是为了让我可以获取附加到控件实例的数据而不是触发click事件的元素.

这很好用,但我怀疑有更好的方法

在过去使用过Prototype之后,我记得一个绑定语法,它允许你控制事件中'this'的值.

什么是jQuery方式?

jquery scope this

72
推荐指数
5
解决办法
7万
查看次数

将JSON数组反序列化为强类型.NET对象

当我可以调用第三方api并获取单个类的数据时,所有内容都使用此代码进行反序列化

TheUser me = jsonSerializer.Deserialize(response, typeof(TheUser)) as TheUser
Run Code Online (Sandbox Code Playgroud)

当我尝试反序列化作为数组的JSON响应内容时会出现问题,例如

{
   "data": [
      {
         "name": "A Jones",
         "id": "500015763"
      },
      {
         "name": "B Smith",
         "id": "504986213"
      },
      {
         "name": "C Brown",
         "id": "509034361"
      }
   ]
}
Run Code Online (Sandbox Code Playgroud)

如果我在"data"成员周围使用自定义包装类并且该成员需要是类型,我只能使序列化工作List<object>.如果它有类型List<TheUser>ArgumentExceptionJsonParser DesializeType方法得到它们.

我原本试图在没有像这样的包装类型的情况下进行序列化

List<TheUser> freinds = jsonSerializer.Deserialize(response, typeof(List<TheUser>)) as List<TheUser>;
Run Code Online (Sandbox Code Playgroud)

但这只会给我一个空集合.当然,我必须能够将数组反序列化为强类型列表.

c# json.net windows-phone-7 hammock

43
推荐指数
5
解决办法
10万
查看次数

使用AutoLayout堆叠在不同高度的两个列中

针对iOS 8.1

我正在使用AutoLayout在TableCell中布置一些标签.其中一些标签是可选的,有些可以包装它们的文本.它们分为两个"列",这些列只是TableCell的ContentView中的两个UIView.我的约束以编程方式应用.

第二次更新

如果没有SwiftArchitect的答案,我就不会解决这个问题并接受了他的回答.但是因为我的所有代码都在自定义的tablecell中,所以我在下面还添加了一个单独的答案

UPDATE

在试图从伸展到比他们需要的是我以前设定的扩大停止标签SetContentHuggingPriority,并SetContentCompressionResistancePriority以1000作为我belived这是说相当于" 我希望标签的内容拥抱它的确切高度和我不希望它被垂直压缩 "AutoLayout显然没有遵守此请求,您可以在下面的红色和粉红色示例中看到.

this.notesLabel.SetContentHuggingPriority(1000, UILayoutConstraintAxis.Vertical);
this.notesLabel.SetContentCompressionResistancePriority(1000, UILayoutConstraintAxis.Vertical);
Run Code Online (Sandbox Code Playgroud)

我删除了这些优先级的设置,标签不再被压扁,这是我原来的问题.当然,现在某些标签已经超出了他们需要的高度.

  1. 为什么删除Hugging和Compression优先级可以解决我的问题?
  2. 如何在不返回我之前的问题的情况下将红色框中的文本(红色框不是后面添加的单元格的一部分)放到不扩展中?

在此输入图像描述

下面是一些屏幕截图,介绍了压缩和拥抱优先级设置时的效果.背景颜色用于调试

在此输入图像描述

一般的问题是包含视图(彩色紫色和红色)正在测量两者中较小的一个.正如你在前面看到的那样,"优先级3"正在被削减,因为左列容器不需要更高.

在下一个示例中,没有Priority标签,但EventDate正在被压缩.

在此输入图像描述

uitableview xamarin.ios ios autolayout mvvmcross

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

可变高度UITableViewCell在滚动到列表末尾并旋转后展开

UPDATE

我知道造成这种奇怪的布局错误的原因.它是附件(UITableViewCellAccessory)的设置.如果我停止指定附件,布局不会中断.我没有添加这个作为答案,因为答案需要一个解决方案,给我一个配件,而不打破布局

我看到人们使用动态高度自定义单元格的大部分问题是它们在旋转之前没有正确的高度.但是我看到相反的情况:所有单元格的高度都适用于其动态内容.向上和向下滚动不会破坏这一点.但是,如果我滚动到列表的底部,然后旋转设备,然后向后旋转一行将成为屏幕高度的0.5到1.5倍.

进一步旋转或进一步滚动将使行返回到期望高度.我在屏幕截图之前和之后都包含了几个

滚动前的表格

滚动和旋转后的表格

UITableView的定义如下

this.rootChildrenTable = new UITableView()
            {
                TranslatesAutoresizingMaskIntoConstraints = false,
                AccessibilityIdentifier = "rootChildrenTable",
                RowHeight = UITableView.AutomaticDimension,
                EstimatedRowHeight = 44.0f,
                BackgroundColor = UIColor.GroupTableViewBackgroundColor,
                TableFooterView = new UIView(),
                TableHeaderView = this.searchBar,
                KeyboardDismissMode = UIScrollViewKeyboardDismissMode.OnDrag
            };
Run Code Online (Sandbox Code Playgroud)

注意通常的嫌疑人是设置RowHeightEstimatedRowHeight.一旦我Lines = 0从标签中删除,使行的高度相同,问题就会消失.

知道还有什么我应该看的吗?

xamarin.ios ios autolayout ios-autolayout

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

从 Visual Studio 调试 Blend。没有加载符号

我正在尝试调试在 Expression Blend 2013 中的 DesignTime 运行的某些代码的问题。

我有一个在 Blend 中加载的 Windows Store (8.1) 项目。我想调试 Blend 设计器中运行的一些 ViewModel 代码。

在之前的项目中,我在 Visual Studio 中打开了相同的项目,并对 Blend 执行了“调试 - 附加进程”。

我在当前的开发机器上看到的问题是所有断点都无效。他们显示警告

当前不会命中断点。该文档尚未加载任何符号

如果我只是在 Visual Studio 中调试 - 启动并部署到模拟器,这些断点就可以正常运行。为什么 Blend 不允许我附加和调试?

TIA

帕特·朗

mvvm expression-blend visual-studio-debugging visual-studio-2013

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

选择项目后,PartialTextChanged停止在MvxAutoCompleteTextView上触发

我在Xamarin Android AutoCompleteTextView周围使用MVVMCross的包装器。

我使用PartialTextChanged更改事件来表示需要从View调用ViewModel以获得更多建议。

在用户从列表中选择一个项目之前,这种方法都可以正常工作。在那之后,对文本的任何更改都不会导致PartialTextChanged事件触发。好像一旦选择就关闭了过滤。

AutoCompleteTextView上有一个SetText方法似乎可以打开/关闭过滤,但是我不确定使用该方法的最佳方法。

像AfterTextChanged一样,TextChangedEvent仍会在控件上触发,但不是PartialTextChanged,而是驱动更新的原因。

我已经通过MVVMCross源进行了调试,看不到解决方案。有什么想法吗?

我在哪里可以浏览mondroid \ xamarin android代码?

谢谢

android autocompletetextview mvvmcross

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

键盘显示时定位 UIPopoverPresentationController

我正在显示来自自定义 UITableViewCell 的 UIPopoverPresentationController。当用户点击单元格时,我们会显示一个弹出窗口,其中包含一个带有一些可编辑字段的 UIScrollView。

在此处输入图片说明

sourceView设置为父Controller的View,SourceRect设置为TableCell

popoverPresentationController.SourceView = presentingViewController.View;
popoverPresentationController.PermittedArrowDirections = UIPopoverArrowDirection.Any;

var rectInTableView = containingTableView.RectForRowAtIndexPath(path);
var rectInSuperView = containingTableView.ConvertRectToView(rectInTableView, containingTableView.Superview);

// The "/2" on the Height of the SourceRect was so the PopOver appear half way into the cell rather than at it's bottom edge
popoverPresentationController.SourceRect = new CGRect(rectInSuperView.X, rectInSuperView.Y, rectInSuperView.Width, rectInSuperView.Height / 2);
Run Code Online (Sandbox Code Playgroud)

这工作正常,直到键盘出现。如果我不听 WillReposition 委托,则弹出窗口将动画移到视图的左上角

如果我尝试将弹出动画重新定位到只有 10 个左右的像素高

在此处输入图片说明

  1. 我应该从外部视图而不是单元格管理 Popover 吗?
  2. 我应该如何重新定位?

我看过键盘显示uipopover 隐藏,并且在键盘消失后 UIPopoverController 的视图控制器会调整大小

xamarin.ios uipopovercontroller ios

5
推荐指数
0
解决办法
542
查看次数

从 Azure 部署中排除 Azure Function 中的文件

我们有一个 Azure Function 项目,其中包含一个专门命名的文件,使本地调试变得更加容易。但是,我们不希望将该文件部署到 Azure。

标准打包和发布过程明确知道指定的文件local.settings.json,因此永远不会部署该文件。

一些在线文档和帖子说您可以在项目中包含一个名为 的文件,.funcignore其语法与.gitignore. 在那里你应该能够指定你不想打包的文件。

我们所拥有的文件被称为local.funcdebugging.json并且具有以下文件属性

  • 构建操作:无
  • 复制到输出目录:如果较新则复制

我们的 .funcignore 文件看起来像这样

## Files that should be ignored from Azure Deployment

# EasyAuth Debugging file
local.funcdebugging.json
Run Code Online (Sandbox Code Playgroud)

尽管有这些设置,调试文件仍然会被部署。如何防止此文件成为 Azure 部署的一部分?

azure azure-deployment azure-functions

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

使用 AutoLayout 约束向 UIView 添加填充

想象一个简单的 UIView,就像下面的蓝色全宽容器。它包含一个红色框和一个黄色框。

简单的全宽样品

红色和黄色框从容器插入 10 像素(我知道它在图像中看起来不像。请原谅我的垃圾艺术品)。我可以通过在与 UIView(蓝色)相关的黄色框上设置左约束来实现这一点,常量为 10.0。

然而这是正确的吗?我应该使用 LayoutMargins 属性还是 XXXXMargin 布局属性?很多例子我都见过简单的向左或向右偏移

uiview ios autolayout

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

在UIView中检测iOS 8方向更改

我在iOS8中使用TraitCollectionDidChange检测Regular和Compact大小类.

我试图在屏幕上水平放置一组特定的数据,但它不适用于Portrait iPad Mini上的Horizo​​ntal Class Regular,但是Landscape中会有足够的空间.

问题是Horizo​​ntal SizeClass 在纵向和横向上是常规的,因此TraitCollectionDidChange不会触发,我也不会被告知Orientation更改.

我听过参考viewWillTransitionToSize但是在UIView中没有.

Apple是否表示他们不希望水平类常规的UI布局差异 - 纵向和水平类常规 - 风景?

如果可以这样做,我如何在UIView中告诉我们方向改变?

ios autolayout

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