我有这样的UIImage,在左侧红线之间的空白处有UITextField的位置:


UIImage的实际边界大于可见部分的边界,因为手势识别器链接到此图像,并且它需要更大,才能更舒适地使用手势。

文本字段中的文本对齐设置为右侧。因此,任务是在输入文本后关闭键盘时,根据输入的文本长度从左侧裁剪图像帧。我使用以下代码:

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
            ruleImage.layer.anchorPoint = CGPointMake(1,1);
            [ruleImage setFrame:CGRectMake(0, 0, 120 + ruleTextfield.text.length * 15 , ruleImage.frame.size.height)];
}


但是此代码从左到右水平压缩图像,没有裁剪。所以问题:


如何将锚点设置在右上角(或右下角)?
我可以使用什么属性来裁切图像?


附言我也尝试过

ruleImage.autoresizingMask = UIViewAutoresizingFlexibleRightMargin;
ruleImage.contentMode = UIViewContentModeTopRight;


但是这种特性不能解决我的问题。

最佳答案

尝试

ruleImage.contentMode = UIViewContentModeScaleAspectFill;

关于ios - 动态更改的UIImage宽度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14586507/

10-09 09:37