gpt4 book ai didi

objective-c - 基于 View 的表格 View 中的进度指示器

转载 作者:行者123 更新时间:2023-12-03 17:11:31 32 4
gpt4 key购买 nike

我正在尝试显示一个包含一个 NSProgressIndicator 的自定义 View 。

我在每个计时器事件上更改其 doubleValue,但它没有反射(reflect)在 NSProgressIndicator 中。它始终为 0 值。

我使用的代码如下:

- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {

self.progressViewTextField.stringValue = [NSString stringWithFormat:@"Row: %ld", row];

[self.progressViewBar setDoubleValue: [self.progressViewBar doubleValue]+5];

NSData * archivedView = [NSKeyedArchiver archivedDataWithRootObject:self.progressView];
NSView * myViewCopy = [NSKeyedUnarchiver unarchiveObjectWithData:archivedView];

NSLog(@"progress: %lf", self.progressViewBar.doubleValue);

return myViewCopy;
}

我们非常感谢为实现这一目标提供的任何帮助。

最佳答案

请尝试以下代码:

@implementation TVAppDelegate{
    NSInteger barValue;
}


- (id)init
{
    self = [super init];
    if (self) {
        _progressList = [NSArray arrayWithObjects:@"A",@"B",@"C", nil];
        
        [NSTimer scheduledTimerWithTimeInterval:1.0
                                         target:self
                                       selector:@selector(timerMethod)
                                       userInfo:nil
                                        repeats:YES];
    }
    return self;
}

-(void) timerMethod{
    barValue+=2;
    [self.tableView reloadData];
}

- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView;{
    return self.progressList.count;
    
}


- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
    
    NSData * archivedView = [NSKeyedArchiver archivedDataWithRootObject:self.progressView];
    NSView * myViewCopy =[ NSKeyedUnarchiver unarchiveObjectWithData:archivedView];
    
    [[[myViewCopy subviews] objectAtIndex:1] setDoubleValue: [self.progressViewBar doubleValue]+5];
    
    
    [[[myViewCopy subviews] objectAtIndex:1] setDoubleValue: barValue];
    [[[myViewCopy subviews] objectAtIndex:1] startAnimation:self];
    
    return myViewCopy;
}

关于objective-c - 基于 View 的表格 View 中的进度指示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24883099/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com