我有一个带有一堆东西的div,我想要做的是放置一个图像,居中,在它上面.我的基本布局看起来像这样:
<div>
<img style="display:block; position: absolute; top:50%; left:50%; margin-top:-33px; margin-left:-33px;" src="Images/ajax-loader_001.gif" />
<!-- a bunch of tables and stuff that doesn't have a conveniently fixed size -->
</div>
Run Code Online (Sandbox Code Playgroud)
以上将使图像在屏幕中居中(图像为66px x 66px BTW),但我希望它相对于父div居中并在其上方"浮动".有一种纯粹的CSS方式吗?需要在IE8和最近的Firefox版本中工作.
编辑:只是为了澄清-我期待到中心既水平和垂直方向和父的顶部.
我有一个包含分号的javascript-string(其中一些是转义的).
我的问题是,如何在所有未转义的分号上拆分此字符串并保留转义的分号
var example = "abc;def;ghi\;jk"
Run Code Online (Sandbox Code Playgroud)
这应该得到:
example[0] = "abc";
example[1] = "def";
example[2] = "ghi\;jk";
Run Code Online (Sandbox Code Playgroud)
我只发现了一个PHP-regex,它在javascript中不起作用:(
'/(?<!\\\);/'
Run Code Online (Sandbox Code Playgroud)
任何想法如何做到这一点?
我刚刚开始使用Xamarin进行iOS开发,似乎已经遇到了障碍.我正在尝试创建一个自定义表格单元格来显示一些数据.因此,从各种在线资源中获取提示(例如,请参见此处),我创建了一个.xib文件,删除了Xamarin自动创建的视图并将其替换为UITableViewCell.我在我的单元格中添加了一些标签,我注册了我的单元格RegisterNibForCellReuse并设置了继承的类,UITableViewSource以便在适当的时候返回我的自定义单元格.到现在为止还挺好.
当我在自定义单元格中使用任何控件并尝试创建插座时,问题就开始了.在XCode中创建插座,一切看起来都不错.回到Xamarin,我可以看到它为它自动创建了一个属性.
[Register ("MyCustomCell")]
partial class MyCustomCell
{
[Outlet]
MonoTouch.UIKit.UILabel MyLabel { get; set; }
void ReleaseDesignerOutlets ()
{
if (MyLabel != null) {
MyLabel.Dispose ();
MyLabel = null;
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试运行代码时,我得到一个运行时错误说 This class in not key value coding-compliant for key the key MyOutlet
知道可能会发生什么吗?Xamarin文档在这里提出了一个可能的原因,但我不确定它是否相关.我没有在Xamarin创建的任何设计器文件中看到类似的东西,并且它们一切都很好.我试图与使用一个替代上面的属性定义Connect属性,而不是Outlet和用途GetNativeField及SetNativeField,但我看到了同样的结果.
Json.net有一个非常有用的属性,可以在被JsonPropertyAttribute调用的上设置NullValueHandling.如果您装饰这样的属性:
[JsonProperty(NullValueHandling=NullValueHandling.Ignore)]
string MyProp { get; set; }
Run Code Online (Sandbox Code Playgroud)
然后,如果MyProp为null,则根本不会包含在输出中.
我想做类似的事情,但有不同的排除条件.例如 - 说我们有一个枚举
public enum MyEnum { None = 0, Value1 = 1, Value2 = 2, Value3 = 4 };
Run Code Online (Sandbox Code Playgroud)
和一个财产
MyEnum MyProp { get; set; }
Run Code Online (Sandbox Code Playgroud)
然后我想MyProp完全排除输入if MyProp == MyEnum.None.
我知道一个解决方案是使用MyEnum?而不是MyEnum然后我可以NullValueHandling再次使用,但我不能在这里使用nullable.我以为我可以使用一个,JsonConverter所以我尝试了子类StringEnumConverter(因为我希望它们理想地输出为字符串):
public class MyEnumConverter : Newtonsoft.Json.Converters.StringEnumConverter
{
public override bool CanConvert(Type objectType)
{
return objectType == typeof(MyEnum);
}
public override object …Run Code Online (Sandbox Code Playgroud) 似乎与此问题类似:
但是对于Xamarin。我有一个正在使用Visual Studio for iOS的xamarin解决方案。我在一处添加了一些资源,然后决定将它们移到其他地方。但是,当我构建项目并在构建的Mac上查看应用程序捆绑包时,原始文档仍然存在。即使我从Windows机器上清理了它们的每个实例,它仍然以某种方式最终出现在应用程序包中!
如何完成清理所有缓存的跟踪?我已经重置了模拟器,从Visual Studio中对其进行了清理和重建,甚至删除了bin,obj但我无法摆脱该死的东西。
我有一个图像,我想旋转360°(顺时针),然后重复,我无法按正确的方式进行此操作.我可以做这个:
UIView.Animate(1, 0, UIViewAnimationOptions.Repeat,
() =>
{
LoadingImage.Transform = MonoTouch.CoreGraphics.CGAffineTransform.MakeRotation(-(float)(Math.PI));
},
() =>
{
});
Run Code Online (Sandbox Code Playgroud)
这将我的图像旋转180°然后快速回到开始并重复.所以,我想如果我做了像1.99*PI这样的东西,它几乎会一直旋转,看起来还不错.不幸的是,动画系统比这更聪明,而只是反向旋转!
那么让图像连续旋转360°的正确方法是什么?
更新
在得到帮助或Eric的评论后,我得到了这个:
CABasicAnimation rotationAnimation = new CABasicAnimation();
rotationAnimation.KeyPath = "transform.rotation.z";
rotationAnimation.To = new NSNumber(Math.PI * 2);
rotationAnimation.Duration = 1;
rotationAnimation.Cumulative = true;
rotationAnimation.RepeatCount = 10;
LoadingImage.Layer.AddAnimation(rotationAnimation, "rotationAnimation");
Run Code Online (Sandbox Code Playgroud)
在我的例子中,它旋转360°,10次旋转(参见参考资料RepeatCount),但我没有看到一种方法告诉它重复,直到我停止它.CABasicAnimation有一个RepeatCount和一个RepeatDuration,但似乎没有一个属性告诉它只是不断重复.我可以设置RepeatCount一些适当的高值,它会一直旋转,直到用户可能失去兴趣,但这似乎不是一个很好的解决方案.
function multierror(elements, messages){
while(elements.length > 0){
box = $(elements.pop());
errTab = $('#error');
errTab.fadeOut(10, function(){
box.css('border', '1px solid red');
errTab.html(messages.pop());
}).fadeIn(10);
errTab.fadeOut(5000, function(){
box.css('border', '1px solid #cccccc');
errTab.html(' ');
}).fadeIn(1000);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我正在尝试运行的函数,它应该淡化$('#error')上的一些消息并突出显示我在表单中的一些输入框.消息在消息变量上,输入框的#name在元素变量上.
但是发生的事情是消息被弹出并正确显示,但是选中要突出显示的元素总是相同的,尽管当while循环迭代时总是弹出一个项目,所以我想一旦设置,变量框永远不会被重新分配,但我认为没有理由.
有什么想法吗?
我正在尝试使用OpenXML从头开始创建Excel电子表格,并且我已经将所有内容都正常工作(将实际值转储到实际单元格中),但现在我正在尝试将数字格式应用于列并且我遇到了问题.我styles.xml看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<x:styleSheet xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
<x:numFmts count="12">
<x:numFmt numFmtId="216" formatCode="#,###" />
<x:numFmt numFmtId="217" formatCode="$#,###" />
<x:numFmt numFmtId="218" formatCode="#0.00" />
<x:numFmt numFmtId="219" formatCode="#,###" />
<x:numFmt numFmtId="220" formatCode="#0.0%" />
<x:numFmt numFmtId="221" formatCode="#,###" />
<x:numFmt numFmtId="222" formatCode="#0.0%" />
<x:numFmt numFmtId="223" formatCode="#0.0%" />
<x:numFmt numFmtId="224" formatCode="#0.0%" />
<x:numFmt numFmtId="225" formatCode="#,###" />
<x:numFmt numFmtId="226" formatCode="#,###" />
<x:numFmt numFmtId="227" formatCode="#0.0%" />
</x:numFmts>
<x:cellXfs count="12">
<x:xf numFmtId="216" applyNumberFormat="1" />
<x:xf numFmtId="217" applyNumberFormat="1" />
<x:xf numFmtId="218" applyNumberFormat="1" />
<x:xf numFmtId="219" applyNumberFormat="1" />
<x:xf numFmtId="220" applyNumberFormat="1" …Run Code Online (Sandbox Code Playgroud) 我有两个值要比较:
var value1 = someProperty.GetValue(x);
var value2 = someOtherProperty.GetValue(y);
if (value1 == value2)
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
在哪里someProperty和someOtherProperty是PropertyInfo对象.换句话说,我通过反思获得价值.
问题是如果value1最终成为一个int有价值4,并value2最终成为byte有价值的4,我想能够告诉那些是相同的.有没有一种方法来比较两个数值而不考虑它们的类型?优选地,仍然允许比较两个字符串(因此我不能真实地转换value2为int因为它可能证明它是a string).
可能吗?我正在和Umbraco一起玩,上周启动它(刚启动并运行,除此之外没有做任何事情)到周一我忘记了密码.我看了一下,但这些建议似乎都没有用.将会员提供者更改为Clear:
<add name="UmbracoMembershipProvider" type="Umbraco.Web.Security.Providers.MembersMembershipProvider, Umbraco" minRequiredNonalphanumericCharacters="0" minRequiredPasswordLength="8" useLegacyEncoding="true" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Member" passwordFormat="Hashed" />
<add name="UsersMembershipProvider" type="Umbraco.Web.Security.Providers.UsersMembershipProvider, Umbraco" minRequiredNonalphanumericCharacters="0" minRequiredPasswordLength="8" useLegacyEncoding="true" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" passwordFormat="Hashed" />
Run Code Online (Sandbox Code Playgroud)
如果我换UmbracoMembershipProvider到Clear,它似乎什么也没做.如果我UserMembershipProvider改为Clear那么整个站点都会中断(它抱怨说如果设置为只能使用带有ASP.NET标识的Umbraco Hashed).
所有建议的哈希替换userPassword似乎没有工作.设置userPassword为空字符串不起作用,因为UI不允许空字符串作为密码,后端将检查它并抱怨.
是否有任何简单,万无一失的方法来重置该死的东西而不卸载并重新开始?