当我按住按钮时,如何连续增加UILabel / UITextView / ...的字体大小
我在@property(nonatomic) CGFloat fontSize;
ViewDidLoad
单击按钮时调用此函数:
- (IBAction)increaseFontSize:(id)sender {
[self.label setFont:[UIFont fontWithName:@"Helvetica" size:self.fontSize++]];
NSLog(@"FONT SIZE: %f", self.fontSize);
}
所以我需要的是当我按住按钮时不断增加字体,我想我应该以某种方式反复调用increaseFontSize:
方法
答案 0 :(得分:1)
瞧:
- (IBAction)increaseFontSize:(id)sender
{
self.fontSize = self.fontSize + 1.0;
[self.label setFont:[UIFont fontWithName:@"Helvetica" size:self.fontSize]];
NSLog(@"FONT SIZE: %f", self.fontSize);
}
答案 1 :(得分:1)
在ViewDidLoad:
[self.button addTarget:self action:@selector(ActionStart:) forControlEvents:UIControlEventTouchDown];
[self.button addTarget:self action:@selector(ActionEnd:) forControlEvents:UIControlEventTouchUpInside];
写下这个
-(IBAction) ActionEnd:(id)sender{
[myTimer invalidate];
myTimer = nil;
}
-(IBAction) ActionStart:(id)sender{
myTimer=[NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(increaseSize) userInfo:nil repeats:YES];
}
-(void)increaseSize{
self.fontSize = self.fontSize + 1.0;
[self.label setFont:[UIFont fontWithName:@"Helvetica" size:self.fontSize]];
}
试试这个。 它会起作用。
答案 2 :(得分:0)
逻辑在上面的答案中是完美的。
只需将按钮事件设置为“触摸拖动内部”。
根据我的理解,它正在我的测试应用程序中工作。
感谢。