记录Harde学习成长生活的点点滴滴.
2011-12-22 HTML&CSS,WEB前端


没有评论
5 次浏览

解决label标签在IOS设备上无效的问题

最近一直在做Iphone、Android的Web项目,发现个很让人恼火的问题
本身因为硬件原因,手机的屏幕都比较小,也就导致了radio、checkbox的默认大小,难点的令人发指
那么,label的作用这时就应该体现出来了。当令我意想不到的问题是,在包括Iphone、Ipad、IPod Touch上,label标签竟然无效!!

查了一堆文档,都没有说名这个问题,后来作罢,把checkbox大小做的大一点,修改下外观,并跟客户说明了下情况。这才作罢。
今天偶然在网上看到一篇文章,说label在IOS上是有bug的,只要添加个onclick=”"就恢复正常了。果断试了下,竟然真的好了~~
完整代码;

?View Code HTML4STRICT
1
2
<label for="ckb_user" onclick="">我是演示</label>
<input id="ckb_user" type="checkbox" value="0" />

参考文章:《使iPhone Safari的label元素生效》
http://www.keakon.net/2011/01/20/%E4%BD%BFiPhoneSafari%E7%9A%84label%E5%85%83%E7%B4%A0%E7%94%9F%E6%95%88

2011-12-20 Java


没有评论
19 次浏览

@Override must override a superclass method 问题解决

好久没做JAVA的东西,这几天做一个手机版的MAIL项目,其他的没啥的,就是测试时在发件箱遇到这么个问题~、
以前也碰到过,具体解决忘了……(扔了真的太久了…..),Google一下~
原来是编译器(Compiler)的问题
因为在早起版本的JDK(1.6以前)不支持@Override批注,所以编译时就会出现这个问题,只要把编译器版本改为1.6就可以了
(以MyEclipse为例Window->Preferences->Java->Compiler中的Compiler compliance level修改为1.6

Tip:
Compiler
[英] [kəmˈpailə]
[美] [kəmˈpaɪlɚ]
n. 汇编者; 编辑者, 编纂者;(电脑的)编译程序

Objective-C 中如何正确的比较字符串的值

一个纯.NET程序员出来看其他语言是很悲剧的~
尤其是像Objectie-C这种类C语言~~

最近做个小东西,第一屏是登录视图,需要与服务器通讯,为了测试方便
就随手写了句

1
2
3
4
if (txtCO_NO.text  == @"1" && txtUSER_CD.text == "1" && txtPASSWD.text = "1") 
    {
        //跳过服务器验证
    }

然后悲剧得发现,每次都没有进去…..
断点监视,发现值还都没问题,于是翻了翻手册,发现个问题
双等号==运算符只能判断两个NSString的指针数值,而不是他们所指的对象。
txtCO_NO.text得到的1与后面的@”1″,内存指向不同,所以不相等,也就不能进入if语句中了~
这一点和.NET有很大的差异。
虽然.NET中的String是引用类型(有值类型特点的特殊引用类型),但是运算时仍然可以当成值类型来处理。
正确的写法是使用isEqualToString:(NSString *)

1
2
3
4
if ([txtCO_NO.text isEqualToString:@"1"] && [txtUSER_CD.text isEqualToString:@"1"] && [txtPASSWD.text isEqualToString:@"1"] ) 
    {
        //跳过服务器验证
    }
2011-10-31 DotNet


没有评论
11 次浏览

配置系统未能初始化 错误的解决方案

给项目添加log4net时,配置完毕,竟然出了”配置系统未能初始化”的错误。
才发现不小心把configSections节点粘贴时弄到下面去了。
放到第一的位置,问题解决。

MSDN:
如果配置文件中包含 configSections 元素,则 configSections 元素必须是 configuration 元素的第一个子元素。

2011-10-09 DotNet


没有评论
13 次浏览

注意DateTime的IFormatProvider

DateTime.ToString()是大家常用的方法
正常情况下,.net会自动获取系统的语言来输出日期,但是有时这个不适用,有时服务器是日文的,我们却想输出中文日期,这时就需要使用IFormatProvider了
东西比较简单,看一下就明白了

?View Code CSHARP
1
2
3
DateTime tDate = DateTime.Now;
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("ja-JP");
string strDate = tDate.ToString("yyyy/MM/dd (dddd)", culture);

来看个微软的DEMO(有修改)

?View Code CSHARP
1
2
3
4
5
6
7
8
9
10
11
// Specify the date to be formatted using various cultures.
DateTime tDate = DateTime.Now;
// Specify the cultures.
string[] cultureNames = { "en-US", "es-AR", "fr-FR","ja-JP", "nl-NL", "ru-RU","zh-TW","zh-CN"};
Console.WriteLine("Converting the date {0}: ",Convert.ToString(tDate,System.Globalization.CultureInfo.InvariantCulture));
foreach (string cultureName in cultureNames)
{
    System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo(cultureName);
    string dateString = tDate.ToString("yyyy/MM/dd(dddd) hh:mm:ss tt zzz", culture);
    Console.WriteLine("   {0}:  {1}",culture.Name, dateString);
}

输出结果

?View Code CSHARP
1
2
3
4
5
6
7
8
9
10
Converting the date 10/09/2011 11:35:57:
   en-US:  2011/10/09(Sunday) 11:35:57 AM +08:00
   es-AR:  2011/10/09(domingo) 11:35:57 a.m. +08:00
   fr-FR:  2011/10/09(dimanche) 11:35:57  +08:00
   ja-JP:  2011/10/09(日曜日) 11:35:57 午前 +08:00
   nl-NL:  2011-10-09(zondag) 11:35:57  +08:00
   ru-RU:  2011.10.09(воскресенье) 11:35:57  +08:00
   zh-TW:  2011/10/09(星期日) 11:35:57 上午 +08:00
   zh-CN:  2011/10/09(星期日) 11:35:57 上午 +08:00
続行するには何かキーを押してください . . .
返回顶部
分享按钮