在返回键上执行操作

时间:2014-02-17 07:49:48

标签: ios objective-c cocoa-touch

如何按返回键的向下按下,而不是向上按? textFieldShouldReturn:只允许向上压。

或者,如何在按下按钮的UIActivityIndicatorView开头设置IBAction动画?即使它被称为第一个,它也不会动画直到结束,并且在那时,它被告知停止动画。

编辑:

关于第二个问题,现在发生了什么:

- (IBAction)buttonPressed:(id)sender {
    [indicator startAnimating];
    //do stuff...
    usleep(3000000) //to illustrate the problem, wait 3 seconds
}

指标应首先开始制作动画,但会在usleep()之后开始制作动画。如何在其他任何事情之前制作动画?

2 个答案:

答案 0 :(得分:1)

对于后一个问题,请使用UIControlEventTouchUpInside。 例如......

....
[yourButton addTarget:self action:@selector(didTchUp)forControlEvents:UIControlEventTouchUpInside];


- (void)didTchUp {
    [yourUIActivityIndicatorView startAnimating];
}

usleep()不起作用,因为只有主线程返回后才会更新显示,至少我认为这就是原因。但是一个好的解决方案是NSTimer ......

[NSTimer scheduledTimerWithTimeInterval:3.0
target:self
selector:@selector(targMtod:)
userInfo:nil
repeats:NO];

答案 1 :(得分:0)

[yourTextField addTarget:self action:@selector(someAction:) forControlEvents:UIControlEventEditingDidEndOnExit];

关于UIActivityIndicatorView你应该分配然后初始化它。然后UIButton添加一个子视图activityIndi​​catorView,当你按一个按钮时,该动作包含[activityIndicatorView startAnimating]