UIBezierPath
を使用してアーチを描画しようとしています。エラーや警告はありません。明らかなバグは見られませんが、それは表示されません。これは私のコードです:描画することを拒否するUIBezierパス
- (void)drawRect:(CGRect)rect {
CGFloat a = 10;
CGFloat width = CGRectGetWidth(self.bounds);
CGFloat height = CGRectGetHeight(self.bounds);
CGPoint center = CGPointMake(width/2, height/2);
CGFloat radius = MAX(width, height);
CGFloat archWidth = 18;
CGFloat archLengthPerA = 5;
CGFloat startAngle = 3 * M_PI /2;
CGFloat endAngle = archLengthPerA * a + startAngle;
UIBezierPath* path = [UIBezierPath bezierPath];
[path addArcWithCenter:center
radius:radius
startAngle:startAngle
endAngle:endAngle
clockwise:YES];
path.lineWidth = archWidth;
[[UIColor colorWithRed:255 green:17 blue:0 alpha:1.0] setStroke];
[path stroke];
}
私がテストするために、別のビューでそれを入れて、それはそう何がそれをどうするということです_myString
に墜落しましたか?私はブレークポイントを追加して、それがなくても動作するかどうかを確認しようとしましたが、もう一度クラッシュしました。なぜそれが動作していないすべてのアイデア?
工程との間の値でCGFloatことと '_myString'と' A'と 'startAngle'と' endAngle'が持っている値かを見るべきです。おそらく 'a'は0なので、' startAngle'は 'endAngle'と同じです。したがって、サイズゼロの弧を求めています。もちろん、何も描画しません。例えば 'CGFloat a = 1.0; 'のように、' a'が異なる値であるときに何が起こるかをチェックするためにコードを簡単に変更することができます。 –
@KurtRevisはちょうどチェックしました、そして、彼らはそうではない値を持っています –
だから_what値have have_?私たちに[MCVE](http://stackoverflow.com/help/mcve)を与えてください。 –