我正在寻找一个非hackish解决方案,因此基本上-inputView。我不确定的部分是如何使它看起来像常规键盘,从背景到键。我意识到,我可以使用苹果电脑的photoshop,但是这看起来似乎有些ha,,特别是如果苹果(可能不是但仍然有可能)决定改变键盘的外观。我知道Numbers在制作看起来像标准系统的键盘方面做得非常出色,我想这样做(尽管显然他们可以访问使系统键盘相同的资源,包括可能的私有框架,等等)自定义iPad键盘,看起来像系统键盘
6
A
回答
0
创建视图控制器和xib。 xib应该有1-9,0和删除按钮映射到您的控制器中的IBOutlets。将返回值字符串存储并保留为属性。如果您愿意,您可以添加小数等。在标题中,存储带有属性的版本块闭包(或者创建委托或使用通知)。
@property (copy) void(^valueChangedBlock)(NSString* string);
在触摸起来,每个按钮将事件发送到这样的方法:
- (IBAction) pressKey:(id)sender
{
NSString *toAppend;
// Instead of this switch you can store the values in a dictionary mapped by sender.
switch(sender)
{
case oneButton: [email protected]"1"; break;
case twoButton: [email protected]"2"; break;
...
}
returnValue = [returnValue appendString:toAppend];
valueChanged(returnValue);
}
显然删除键应该从字符串的末尾,而不是追加删除一个字符。除了创建控制器并将此视图添加为inputView之外,您应该添加valueChangedBlock并将其设置为更新文本字段。您可能希望在文本字段集上放置一个清晰的自定义按钮,以使字段第一响应者不会出现,就好像用户可以在字符串中的任何位置进行编辑一样。
2
我使用了以下内容:
tenDigitKeyboard.m
-(IBAction)pressedKey:(UIButton *)sender
{
[delegate pressedKey:sender.tag];
}
其中代表被定义为`ID代表;
然后在委托我做...
-(void)pressedKey:(NSInteger)key
{
NSString * bufferString = model.string;
if (key == -1) {//delete
model.string = [bufferString substringWithRange:NSMakeRange(0, [bufferString length]-1)];
}else{
//will need to change the following to lookup key value based on a lookup of the button.tag
model.string = [bufferString stringByAppendingFormat:@"%i",key];
}
[self update];//updates the view
}
相关问题
- 1. iPad自定义键盘GUI
- 2. 如何从自定义键盘切换到系统键盘?
- 3. 用自定义的键盘替换系统的软键盘
- 4. 自定义iOS键盘通过未锁定系统键盘重新定位
- 5. 使inputAccessoryView看起来像默认键盘
- 6. 自定义键盘的UIWebView为iPad
- 7. 自定义键盘
- 8. 在Android上的SearchView中使用自定义键盘时隐藏系统键盘
- 9. 自定义键盘不显示自定义键盘iOS 8
- 10. iPad键盘来自错误的一面
- 11. 从自定义键盘发送图像
- 12. 自定义键盘像Gboard的Android
- 13. 自定义图像iPhone键盘
- 14. xcode 4 - 自定义键盘
- 15. Android的自定义键盘
- 16. 自定义UISearchBar键盘
- 17. Android自定义键盘
- 18. 自定义键盘建议
- 19. ios自定义键盘
- 20. iOS的自定义键盘
- 21. Trigger.io和自定义键盘
- 22. 如何自定义键盘
- 23. 自定义安卓键盘
- 24. PhoneGap/Android自定义键盘
- 25. 自定义iphone键盘
- 26. Android自定义键盘?
- 27. 自定义键盘为Android
- 28. 自定义iPhone键盘
- 29. 自定义键盘预想
- 30. 自定义数字键盘
喜彼得,在我的情况下,上面的代码给出了类似的错误:指针不允许为案例值。哪里不对?我该怎么办?请帮忙 – 2010-11-09 08:16:26
我写了那个代码作为例子,但需要一些修改。尝试使用if-else语句来检查发件人的身份,或者甚至更好的是,在控制器初始化期间为pressKey方法中的单行查找,将按钮及其结果值存储在字典中。 – 2010-11-09 13:41:55