0

스토리 보드 및 uistackviews와 함께 PNChart (https://github.com/kevinzhow/PNChart) 라이브러리를 사용하는 데 문제가 있습니다. 차트에서 pnchart를 코드에 추가 할 기존 uiview의 공간을 채울 것으로 기대합니다. 그러나 차트는 uiview 경계 내에서가 아니라 화면에서 표시됩니다.PNChart 및 UIStackview 스토리 보드 사용 문제

여기에 문제의 스크린 샷이 있습니다. UIView에서 파랑으로 차트를 추가 했으므로 정확한 레이아웃을 볼 수 있습니다. 보시면 알 수 있듯이 차트가 uiview보다 훨씬 더 커 보이기 때문에 y 요소 나 차트 전체를 볼 수 없습니다.

enter image description here

가 여기 내 스토리 보드 구조 enter image description here

  • 그래프보기 것은 UIView의이다 -이의 서브 뷰로 PNChart를 추가하고있다. 여기 내 코드입니다 : 여기
    CGRect graphViewFrame = _graphView.frame; 
    PNLineChart * lineChart = [[PNLineChart alloc] initWithFrame:graphViewFrame]; 
    [lineChart setXLabels:@[@"SEP 1",@"SEP 2",@"SEP 3",@"SEP 4",@"SEP 5"]]; 
    
    // Line Chart No.1 
    NSArray * data01Array = @[@60.1, @160.1, @126.4, @262.2, @186.2]; 
    PNLineChartData *data01 = [PNLineChartData new]; 
    data01.color = PNFreshGreen; 
    data01.itemCount = lineChart.xLabels.count; 
    data01.getData = ^(NSUInteger index) { 
         CGFloat yValue = [data01Array[index] floatValue]; 
         return [PNLineChartDataItem dataItemWithY:yValue]; 
    }; 
    // Line Chart No.2 
    NSArray * data02Array = @[@20.1, @180.1, @26.4, @202.2, @126.2]; 
    PNLineChartData *data02 = [PNLineChartData new]; 
    data02.color = PNTwitterColor; 
    data02.itemCount = lineChart.xLabels.count; 
    data02.getData = ^(NSUInteger index) { 
        CGFloat yValue = [data02Array[index] floatValue]; 
        return [PNLineChartDataItem dataItemWithY:yValue]; 
    }; 
    
    lineChart.chartData = @[data01, data02]; 
    [lineChart strokeChart]; 
    [_graphView addSubview:lineChart]; 
    

는 스택보기 enter image description here

감사 어떤 아이디어 나 추천에 대한 세부 정보입니다. 나는 이미 PNChart의 개발자에게 연락했다.

답변

2

크기 클래스를 사용하고 있습니까? 얻은 첫 번째 프레임이 실제로보기가 표시 될 때 예상 할 프레임인지 확인하십시오. 예를 들어 Xib를 사용하는 경우 "viewDidApear"전후의 프레임은 모든 화면 크기와 다르게 표시됩니다.

초록, "clipToBounds"를 사용하여 그래프가 설정된 범위에서 벗어나지 않도록하십시오.

self.lineChart.clipsToBounds = YES; 

행운

+0

I 경계하지만 도움이되지 않았다 피곤 클립. 나는 크기 수업을 사용하지 않는다. .. 내가 아는 한. – user1542125

+0

1. "strokeChart"전에 경계에 클립을 사용 했습니까? 2. 줄들 : [lineChart strokeChart]; [_graphView addSubview : lineChart] : 먼저 하위보기로 추가 한 다음 획을 호출해야합니다. 3. 디버그 도구를 사용하여 프레임이 변경되었는지 확인하고 PNCharts에서 이전과 동일한 문제가 발생했는지 확인하십시오. – MCMatan

+0

문제는 clipToBounds가 차트를 클립하고, 내에서 (크기 조정/적합) 상위 UI의 범위 – user1542125