私はUIProgressViewを含むTableViewCellを持っていますが、コントローラのUIProgressViewに進捗値を設定してから等しくなります(self.progressBar = cell.progressBar)。 iOS8 & 9、UIではプログレスバーが0に止まっていますが、iOS7では動作します。助けを願っています。おかげで〜以下は、私のコードです:TableViewCellのUIProgressViewをコントローラ内のUIProgressViewと同じに設定する
@property (strong, nonatomic) IBOutlet UIProgressView *progressBar;
- (void)viewDidLoad{
[super viewDidLoad];
self.timer = [NSTimer scheduledTimerWithTimeInterval: 0.1f target:self selector: @selector(handleProgressBar) userInfo: nil repeats: YES];
[self.tableView reloadData];
}
- (void) handleProgressBar{
if(self.usedTime >= 300.0)
{
[self.timer invalidate];
self.timer=nil;
}
else
{
self.usedTime += 1;
CGFloat progress = self.usedTime*(0.0033333333);
[self performSelectorOnMainThread:@selector(updateProgress:) withObject:[NSNumber numberWithFloat:progress] waitUntilDone:NO];
if(self.usedTime>200){
[self.progressBar setProgressTintColor:[UIColor redColor]];}
}
}
- (void)updateProgress:(NSNumber *)progress {
float fprogress = [progress floatValue];
[self.progressBar setProgress:fprogress animated:YES];
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
switch (indexPath.section) {
case 0:
return [self configQuestionCellWithQIndex:self.pageIndex+1];
break;
default:
return nil;
break;
}
}
- (QuestionTableViewCell*) configQuestionCellWithQIndex:(NSInteger)qIndex{
QuestionTableViewCell* cell = [self.tableView dequeueReusableCellWithIdentifier:@"QuestionCell"];
[cell configCellWithQuestion:self.currentQuestion withQIndex:qIndex];
self.progressBar = cell.progressBar;
return cell;
}
progressBarを作成するQuestionTableViewCellのコードを追加できますか?なぜprogressBarプロパティにIBOutletを使用するのですか?また、configQuestionCellWithQIndex:メソッドへのupdateProgressの呼び出しを追加しようとします。 –
ここにQuestionTableViewCell.hがあります:#import 。 @interface QuestionTableViewCell:UITableViewCell 。@プロパティ(強い、非原子的)IBOutlet UILabel * qIndex; 。@プロパティ(強い、非原子的)IBOutlet UILabel * title; 。@プロパティ(強い、非原子的)IBOutlet UIProgressView * progressBar; - (void)configCellWithQuestion:(Question *)q withQIndex:(NSInteger)qIndex; 。@ end –
Winston