我在iOS中使用UIToolbar
,并尝试通过从右侧滑入来获取新按钮以“到达”。有没有一种方法可以直接访问工具栏上按钮的“位置”?我目前有一个混乱的解决方法,接近预期的效果,但是我希望有一种使用Core Animation移动它们的方法,因此我可以实现'EaseInEaseOut'类型的计时功能。有任何想法吗?
- (void) testPart1 {
[NSTimer scheduledTimerWithTimeInterval:(0) target:self selector:@selector(testPart2:) userInfo:[NSNumber numberWithInt:500] repeats:NO];
}
- (void) testPart2:(NSTimer*)sender {
int countdown = [sender.userInfo integerValue];
theSpace.width = 10+(int)countdown;
itemTestButton.width = 49;
itemTestButton.width = 50;
countdown -= 5;
if(countdown>0)
[NSTimer scheduledTimerWithTimeInterval:(0.004) target:self selector:@selector(testPart2:) userInfo:[NSNumber numberWithInt:countdown] repeats:NO];
}
这里的前提是使用
NSTimer
更改“固定空格键”项目的宽度,并递减为零。我发现必须更改实际按钮的宽度才能使其正常工作,否则不会发生“动画”。我知道这太乱了,有人必须有一种更清洁的方式。 最佳答案
我建议添加一个简单的UIView
作为UIToolbar
的子视图,该子视图的显示方式与bar按钮完全相同(您可以通过在现有按钮上调用renderInContext:
来获得此效果),然后将该视图设置为正确的位置。然后,您可以在该动画的完成块中设置真实按钮,并在动画视图中添加removeFromSuperview
,这对用户而言将无法区分。
关于iphone - 如何移动UIToolbar项?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12882007/