随着iOS5的发布,苹果已经添加了自己的validationinputtype =“number”表单字段。 这是造成一些问题; 看到下面这个问题总结: inputtypes='数字'新的validation删除前导零和格式编号在Safari浏览器为iPhone iOS5和最新的Safari的Mac 虽然inputtypes=“电话”的作品,在iPhone上popup一个数字键盘,这是没有小数点的电话键盘 。 有没有办法将数字键盘设置为默认使用HTML / JS? 这不是一个iPhone应用程序。 至less我需要在键盘上的数字和小数点。 更新 Safari 5.1 / iOS 5中的数字input字段只接受数字和小数点。 我的一个input的默认值是$ 500,000 。 这导致Safari显示空白input字段,因为$,%是无效字符。 此外,当我运行我自己的validationonblur ,Safari会清除input字段,因为我将值添加到$。 因此,Safari 5.1 / iOS5的inputtypes=“数字”的实现使其不可用。 的jsfiddle 在这里试试 – http://jsfiddle.net/mjcookson/4ePeE/ $ 500,000的默认值不会出现在Safari 5.1中,但是如果你删除了$和$符号,它会的。 令人沮丧。
今天在我的创作时间,我做了一些非常全面的研究,如何从UIScrollView中窃取触摸,并立即将它们发送到特定的子视图,同时保持其他滚动视图的默认行为。 考虑在UITableView中有一个UIPickerView。 默认行为是,如果您将手指拖动到选取器视图上,滚动视图将滚动并且选取器视图将保持不变。 我尝试的第一件事是重写 – (BOOL)touchesShouldCancelInContentView:(UIView *)view 并且不允许UIScrollView取消select器视图内的触摸。 这工作,但它有一个不愉快的副作用。 您希望拾取器视图立即作出响应,因此您将不得不将delaysContentTouches设置为NO。 问题是你不希望表格视图的其余部分立即作出响应,因为如果这样的话,表格视图单元格在滚动开始之前总是会高亮几毫秒。 我尝试的第二件事是重写 – (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event 因为我已经读过滚动视图总是返回自己,所以它会“窃取”其子视图中的触摸,并且如果它们对滚动视图不感兴趣,那么将它们发送到子视图。 但是,这不再是事实。 UIScrollView的hitTest的默认实现:withEvent:实际返回应该接收触摸的子视图。 相反,它使用手势识别器来拦截触摸。 所以我尝试的第三件事是实现我自己的手势识别器,并导致它失败,如果触摸是在select器视图之外,否则成功。 然后我设置所有滚动视图的手势识别器失败,除非我的手势识别器失败,使用下面的代码: for (UIGestureRecognizer * gestureRecognizer in self.tableView.gestureRecognizers) { [gestureRecognizer requireGestureRecognizerToFail:myRecognizer]; } 这实际上是从滚动视图中窃取触摸,但是拾取器视图从不接收它们。 所以我虽然也许我可以发送我的手势识别器收到的所有触摸使用此代码: – (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { for (UITouch *touch in touches) [touch.view touchesBegan:touches withEvent:event]; } 上面的代码是一个简化版本。 我还要确保视图是一个select器视图(或其中一个子视图),并为上述手势识别器设置适当的状态。 我也做了同样的取消,结束和移动。 但是,select器视图仍然没有响应。 在回到我的正常工作之前,我还尝试了最后一件事。 […]
我读了这个和那个 。 我完全需要这个: 1.4324 =>“1.43” 9.4000 =>“9.4” 43.000 =>“43” 9.4 =>“9.40”(错误) 43.000 =>“43.00”(错误) 在这两个问题的答案指向NSNumberFormatter 。 所以应该很容易实现,但不适合我。 – (void)viewDidLoad { [super viewDidLoad]; UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 200, 20)]; NSNumberFormatter *doubleValueWithMaxTwoDecimalPlaces = [[NSNumberFormatter alloc] init]; [doubleValueWithMaxTwoDecimalPlaces setNumberStyle:NSNumberFormatterDecimalStyle]; [doubleValueWithMaxTwoDecimalPlaces setPaddingPosition:NSNumberFormatterPadAfterSuffix]; [doubleValueWithMaxTwoDecimalPlaces setFormatWidth:2]; NSNumber *myValue = [NSNumber numberWithDouble:0.01234]; //NSNumber *myValue = [NSNumber numberWithDouble:0.1]; myLabel.text = [doubleValueWithMaxTwoDecimalPlaces […]
我的界面中有一个UISearchBar,我想定制一些文本input后出现在search栏中的小清除button的行为(这是一个带有十字的小灰圈,出现在右边search栏的旁边)。 基本上,我希望它不仅清除search栏的文本(这是默认的实现),而且还清除我的界面的其他东西,但调用我自己的方法之一。 我找不到UISearchBar类或UISearchBarDelegate协议的文档中的任何内容 – 它看起来不像你可以直接访问这种行为。 我注意到的一件事就是文档解释了委托方法: – (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText; 在清除button被点击之后被调用。 我最初编写了一些代码,检查search栏的文本属性,如果它是空的,那么它已被清除,并做我所有的其他东西。 这个虽然有两个问题: 首先,由于某种原因,我无法理解,即使我告诉search栏resignFirstResponder在我的方法结束,某处,将其设置回成为FirstResponder。 真的很烦人 其次,如果用户没有使用清除button,只需用键盘上的删除button删除栏中的文本,就会触发该方法,其search结果将消失。 不好。 任何意见或指针在正确的方向将是伟大的! 谢谢!
我试图压缩我的iPhone应用程序的App Store分布。 分发说明build议查看构build日志来检查是否包含mobileprovision文件,但我不知道如何显示构build日志。 苹果的指示: 要确认您的构build是成功的,请检查以下内容: 打开Build Log详细信息视图并确认“embedded.mobileprovision”文件的存在,这会将您带到构build日志中显示供应configuration文件已成功调用的行。
请原谅我的无知,但“目标”下的“部署目标”字段与“项目”下的部署目标之间,XCode 4有什么区别? 如果我的项目部署目标是3.2,而我的iOS应用程序目标是4.0,会发生什么? 或相反亦然?
我正在尝试为iPhone绘制一个色轮,但是我无法使渐变旋转一个点。 我正在尝试使用渐变,但objective-c提供了一个线性渐变,它可以像这样在一条直线上绘制渐变: 和一个径向渐变,它从这个点开始绘制渐变,然后向各个方向散射出来: 我想绘制一个线性渐变,围绕这样一个点旋转:
当我添加一个子视图到一个UIView ,或者当我调整现有的子视图,我期望[view sizeToFit]和[view sizeThatFits]来反映这种变化。 但是,我的经验是, sizeToFit什么都不做, sizeThatFits在更改前后返回相同的值。 我的testing项目有一个包含一个button的单一视图。 单击该button将向视图添加另一个button,然后在包含的视图上调用sizeToFit 。 在添加子视图之前和之后,视图边界被转储到控制台。 – (void) logSizes { NSLog(@"theView.bounds: %@", NSStringFromCGRect(theView.bounds)); NSLog(@"theView.sizeThatFits: %@", NSStringFromCGSize([theView sizeThatFits:CGSizeZero])); } – (void) buttonTouched { [self logSizes]; UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; btn.frame = CGRectMake(10.0f, 100.0f, 400.0f, 600.0f); [theView addSubview:btn]; [theView sizeToFit]; [self performSelector:@selector(logSizes) withObject:nil afterDelay:1.0]; } 输出是: 2010-10-15 15:40:42.359 SizeToFit[14953:207] theView.bounds: {{0, […]
是否有可能使核心数据属性唯一,即没有两个MyEntity对象可以具有相同的myAttribute? 我知道如何执行这个编程,但我希望有一种方法来使用xcode中的graphics数据模型编辑器。 我正在使用iPhone 3.1.2 SDK。
所以我一直在为我的应用程序工作不同的图像,看看它的外观,取而代之…一切都很好,直到早些时候我用我更新的版本replace文件(checkmark.png),现在当我build立我得到pbxcp: checkmark.png: no such file or directory 。 我已经删除了文件并重新添加了多次,我已经重命名了该文件,并用更新的名称replace了我的代码中的每个文件实例。 不pipe我怎么解决不了这个错误,我所做的所有search结果都会有很多没有回复的post,有人说要“清理”这个项目,我已经尽力而为,不能摆脱的这个错误。 有人有主意吗?