1

奇怪的事情正在发生。基本上,我正在尝试重新创建消息传递应用程序。因此,当我试图让发送按钮在用户输入至少 1 个字符时从灰色变为蓝色时。

当我尝试更改titleLabel 时出现问题,该按钮将消失。后来我发现它恢复到旧位置(当键盘没有显示时)。

为什么这样做?如果我不修改titleLabel,一切都会照常进行。但是,如果我这样做了,UIButton 会回到原来的位置。如果您需要任何示例代码,请告诉我,但我不确定在这里放什么,因为它只是[self.button.titleLabel setTextColor: [UIColor blueColor];在里面,UITextViewdidChange但它的行为很奇怪。

谢谢!艾伦

4

2 回答 2

1

正如其他人在这里提到的那样,您可能正在与自动布局“战斗”。您不必放弃自动布局,只需将 绑定NSLayoutConstraintIBOutlet属性,然后更新约束。如果您没有约束,则会自动为您创建一个 - 您应该手动创建一个并附加它。如果它是在代码中创建的,则通过代码找到它并保存对它的引用。

您还可以回到更简单的 AutoResizing,它在自动布局之前就已经存在(并且尚未弃用)。

于 2014-05-29T22:45:04.983 回答
1

您可能正在与自动布局作斗争。我看到了类似的行为,有人在这里回答了我的问题:当我访问 titleLabel 属性时,为什么 UIButton 会调整大小?. 基本上,我被建议完全放弃自动布局或使用自动布局(永远不要以编程方式设置框架)。

于 2014-05-29T22:18:08.583 回答