1

誰かが私を正しい方向に向けることができることを願っています。私は iOS/Objective C は初めてですが、従来の ASP/PHP には精通しています。

SQLite データベースのデータを使用して、CGRect (塗りつぶされた楕円) を動的に生成しようとしています。SQLite データベースに接続して配列を取得できるので、動作しています。手動で 2 つのドットを描画するとともに、CGRect の目標が NSLog に正常に書き込まれていることがわかります。

NSLog に送信する方法と同様の方法で、「レコード セット」から CGRect 行にアイテムを配置するための最良の方法まで、正しい方向に少しプッシュする必要があります。

私の作業 CGRect コード:

- (void)drawRect:(CGRect)rect {

CGContextRef context = UIGraphicsGetCurrentContext();

// Set dot alpha transparency
CGContextSetAlpha(context, 0.70);

// And draw with a blue fill color
CGContextSetRGBFillColor(context, 0.0, 0.0, 1.0, 1.0);

// Fill rect convenience equivalent to AddEllipseInRect(); FillPath();
int ellipseDiameter = 35.0;
int drawOffset = ellipseDiameter / 2;

//NSArray into NSLog showing how CGRect should be formatted from SQLite data
NSArray *locationInfos = [LocationDatabase database].locationInfos;
for (LocationInfo *info in locationInfos) {
    NSLog(@"CGContextFillEllipseInRect(context, CGRectMake(%@ - drawOffset, %@ - drawOffset, ellipseDiameter,ellipseDiameter))", info.xCoordText, info.yCoordText);
}

//drawing dot 1 
CGContextFillEllipseInRect(context, CGRectMake(125.0 - drawOffset, 108.0 - drawOffset, ellipseDiameter, ellipseDiameter));

//drawing dot 2
CGContextFillEllipseInRect(context, CGRectMake(132.0 - drawOffset, 146.0 - drawOffset, ellipseDiameter, ellipseDiameter));    
}

どんな方向でも本当に感謝しています。前もって感謝します!

4

1 に答える 1

1

info.xCoordTextinfo.yCoordTextareNSStringを呼び出すだけで、[info.xCoordText floatValue]それらをフロートに変換できます。

すなわち:

CGContextFillEllipseInRect(context, CGRectMake(info.xCoordText.floatValue - drawOffset, info.yCoordText.floatValue - drawOffset, ellipseDiameter,ellipseDiameter));
于 2011-10-06T21:40:26.257 に答える