【问题标题】:xcode UIbutton setcenter does not move buttonxcode UIbutton setcenter 不移动按钮
【发布时间】:2015-03-29 10:11:51
【问题描述】:

我正在使用xcode,但在自动移动按钮时遇到问题。我有这个函数,每当我调用它时,我希望按钮移动到我设置的坐标:

[movebutton setCenter:CGPointMake(164,50)];

之前我尝试在 IBAction 函数中设置 NStimer,然后使用计时器调用此 movebutton 函数 - 按钮已移动,但如果我在没有 NStimer 的情况下调用相同的函数,它将不再有效.

定时器的代码是:

[NSTimer scheduledTimerWithTimeInterval:(0.1/3) target:self selector:@selector(movebutton:) userInfo:nil repeats:YES];

谁能发现我错过了什么?

更新:

我尝试打印出按钮的 x 和 y 坐标,实际上按钮位置已更新。

NSLog(@"x position %f",movebutton.frame.origin.x);

然而,在 UI 屏幕上它根本不反映

【问题讨论】:

    标签: objective-c xcode uibutton


    【解决方案1】:

    尝试放置

    [self.view layoutIfNeeded];
    

    在您的 moveButton: 方法中,以便在从计时器调用它时知道要更新 UI。

    【讨论】:

    • 嗨,贝克感谢您的回复。现在它的工作。就像你说的我必须更新用户界面:)
    【解决方案2】:

    你在哪里手动调用 -[UIButton setCenter]?无法发表评论,因为我无权发表评论。

    NSTimer 工作是因为它每 0.1/3 触发一次方法,因为 NSTimer 实例被添加到运行循环中

    【讨论】:

    • 嗨,我已经创建了这个函数“movebutton”,setCenter 在这个方法里面。基本上我想调用这个 movebutton 函数,然后按钮将根据坐标移动。以前我使用 NSTimer 并且每次触发该方法时按钮都会移动。但是,现在我不想使用计时器来控制..但是当我调用此函数时没有计时器,按钮不再移动。理想情况下,我希望按钮在我调用它时移动..但没有任何时间限制
    • @lkleung1 你在哪里叫它?
    猜你喜欢
    • 2023-04-07
    • 1970-01-01
    • 2011-04-09
    • 1970-01-01
    • 2013-01-22
    • 2017-03-23
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多