发生了一些奇怪的事情。基本上,我正在尝试重新创建消息传递应用程序。因此,当我尝试在用户键入至少1个字符时,将“发送”按钮从“灰色”更改为“蓝色”。
问题出现在我尝试更改titleLabel时,按钮将消失。后来我发现它恢复到原来的位置(键盘没有显示)。
为什么这样做?如果我不修改titleLabel一切正常。但是,如果我这样做,UIButton会回到原来的位置。如果您需要任何示例代码让我知道,但我不知道该放在什么地方,因为[self.button.titleLabel setTextColor: [UIColor blueColor];
只是UITextViewdidChange
,但它表现得很奇怪。
谢谢! 艾伦
答案 0 :(得分:1)
你可能会反对自动布局。我看到了类似的行为,有人在这里回答了我的问题:Why does UIButton resize when I access titleLabel property?。基本上,我被建议完全放弃自动布局或仅使用自动布局(从不以编程方式设置帧)。
答案 1 :(得分:1)
正如其他人所提到的那样,你可能会与自动布局“战斗”。您不必抛弃自动布局,只需将NSLayoutConstraint
绑定到IBOutlet
属性,然后更新约束即可。如果您没有约束,则会自动为您创建一个约束 - 您应该手动创建一个并附加它。如果它是在代码中创建的,则按代码查找并保存对它的引用。
您还可以回到更简单的AutoResizing,这是在自动布局之前(并且不已弃用)。