iOS自定义键盘可伸缩图像停止拉伸

iOS自定义键盘可伸缩图像停止拉伸,第1张

概述我为UITextField制作了一个自定义键盘,由18个UIButtons组成.这是一个UIView,它被设置为文本字段的inputView. 按钮是使用代码在UIView的initWithFrame:方法中创建的 UIImage* buttonImage =[[UIImage imageNamed:@"keyboard-button-background.png"] stretchableIma 我为UITextFIEld制作了一个自定义键盘,由18个UIbuttons组成.这是一个UIVIEw,它被设置为文本字段的inputVIEw.

按钮是使用代码在UIVIEw的initWithFrame:方法中创建的

UIImage* buttonImage =[[UIImage imagenamed:@"keyboard-button-background.png"] stretchableImageWithleftCapWIDth:1.0 topCapHeight:79.0];UIImage* button@R_502_4848@Image =[[UIImage imagenamed:@"keyboard-button-@[email protected]"] stretchableImageWithleftCapWIDth:1.0 topCapHeight:79.0];UIbutton* button = [UIbutton buttonWithType:UIbuttonTypeCustom];[button setTitle:Title forState:UIControlStatenormal];[button setBackgroundImage:buttonImage forState:UIControlStatenormal];[button setBackgroundImage:button@R_502_4848@Image forState:UIControlStateHighlighted];button.frame = CGRectMake(xposition,yposition,buttonWIDth,buttonHeight);

按下按钮后,该按钮将设置为启用=否.当至少启用其中一个按钮时,背景会完美展开.如果所有按钮都被禁用,并且UITextfIEld resignFirstResponder然后UITextFIEld再次成为First Responder,则会出现按钮,但背景图像似乎不再拉伸(至少不在垂直方向,水平似乎很好).

我不确定从哪里开始寻找解决方案.我的猜测是自定义键盘绘制子视图的方式,但我不确定.

可以通过在layoutSubvIEws或drawRect:或类似的东西中设置背景图像来解决这个问题吗?水平拉伸工作正常的事实让我想知道UIbutton的框架是否正确,因为它正在绘制.

编辑
最左边的单元格只是标签,右边的单元格是UITextfIElds并且有自定义键盘

键盘的外观如何:

键盘实际看起来如何在单元格3上重新响应第一响应者,然后给出1个第一响应者(禁用所有键),然后给出4个第一响应者:

解决方法 为了处理不同的iOS API我做了一个类别
UIImage的.

@implementation UIImage (SPResizableImage)- (UIImage *)spResizableImageWithCAPInsets:(UIEdgeInsets)edge{    UIImage * resizableImage = nil;    if ([self respondsToSelector:@selector(resizableImageWithCAPInsets:)]) // iOS 5    {        resizableImage = [self resizableImageWithCAPInsets:edge];    }    else    {        resizableImage = [self stretchableImageWithleftCapWIDth:edge.left                                                   topCapHeight:edge.top];    }    return resizableImage;}@end
总结

以上是内存溢出为你收集整理的iOS自定义键盘可伸缩图像停止拉伸全部内容,希望文章能够帮你解决iOS自定义键盘可伸缩图像停止拉伸所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1035954.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存