如何更改按钮的位置。目标-c
Posted
技术标签:
【中文标题】如何更改按钮的位置。目标-c【英文标题】:How to change position of buttons. objective-c 【发布时间】:2013-08-15 08:23:30 【问题描述】:*** 上定位按钮的方法不起作用。我正在使用
self.todayButton.frame = CGRectMake(0, self.todayButton.frame.origin.y, self.todayButton.frame.size.width, self.todayButton.frame.size.height);
我认为这是一个自动布局问题,但我不确定如何解决。
【问题讨论】:
【参考方案1】:这是Autolayout
的问题。但是您不能在笔尖的特定视图上禁用autolayout
。必须在整个笔尖上禁用它。
更好的解决方案是在该按钮上使用setTranslatesAutoresizingMaskIntoConstraints
:
[self.todayButton setTranslatesAutoresizingMaskIntoConstraints:YES];
【讨论】:
嗨,当我这样做时,它会像这样给出日志:无法同时满足约束。可能以下列表中的至少一个约束是您不想要的。试试这个:(1)查看每个约束并尝试找出您不期望的; (2) 找到添加了一个或多个不需要的约束的代码并修复它。 (注意:如果您看到不理解的 NSAutoresizingMaskLayoutConstraints,请参阅 UIView 属性 translatesAutoresizingMaskIntoConstraints 的文档 将尝试通过打破约束来恢复 <0x8b2a230 v:>可能值得拆分这段代码,这样您就可以看到新框架的样子:
CGRect newFrame = self.todayButton.frame;
NSLog(@"Old: %@", NSStringFromCGRect(newFrame));
newFrame.origin.x = 0;
NSLog(@"New: %@", NSStringFromCGRect(newFrame));
self.todayButton.frame = newFrame;
显示的框架是否与您预期的一样?
【讨论】:
旧版:569, 13, 73, 44 新版:0, 13, 73, 44 按钮保持原位。 好吧,至少你已经排除了这一点!我希望 Puneet 的上述回答有助于解决问题。祝你好运。以上是关于如何更改按钮的位置。目标-c的主要内容,如果未能解决你的问题,请参考以下文章