2016-09-13 24 views
1

私はオープンソースのKalカレンダーを使用しています。ここで問題となっているのは、iOS 10で日付が正しく表示されないということです。解決策があるかどうか、問題の原因を教えてください。UI ipad iOS 10のkalカレンダーの問題

スクリーンショット:https://github.com/klazuka/Kal/issues/106

おかげ

+0

Hmm。それはかなり古いライブラリです。 4年前に更新されました。 iOS 9でもうまく動作しますか? –

+0

はい、iOS9で動作します。 – selva

答えて

2

は、システムフォント名を持つ問題であるように思われます。私はそれが働いて得るためにKalTileViewで
UIFont *font = [UIFont fontWithName:@"Helvetica" size:fontSize];

UIFont *font = [UIFont boldSystemFontOfSize:fontSize];
を置き換えます。

+0

ありがとうDavid ..あなたのソリューションは正常に動作します。同じKalTileViewには、非推奨のメソッドCGContextSelectFontとCGContextShowTextAtPointがあります。だから、私は廃止されたメソッドを "NSFontAttributeName"に置き換えようとしていました。私はメソッドを変更した後の日付を見ることができましたが、日付(数値)は逆さまになっています。 Xcodeは廃止予定の "boldSystemFontOfSize"を表示していません。 – selva

+0

これもうまくいきます。これは廃止予定のメソッドの代替です。 [dayText drawAtPoint:CGPointMake(textX、textY)withAttributes:@ {NSFontAttributeName:[UIFont fontWithName:@ "Helvetica" size:17]}]; – selva

+0

@selvaまた、廃止予定のメソッドを置き換えたいと思いますが、drawAtPointは私にとって正しい日の数字を配置していません。彼らは日のマーカーを侵害している。 実際、私はboldSystemFontOfSizeが廃止され、代わりにそれが私の問題を解決したことを示すつもりはありませんでした。 – David

1

To David:あなたのソリューションにも感謝します。

To Selva:CGContextShowTextAtPointをdrawAtPointに置き換えようとしましたが、逆さまの問題もありました。次に、私はこれを修正するために以下を追加します。これが助けてくれることを願っています。

CGContextSaveGState(ctx); 
    CGContextTranslateCTM(ctx, 0.0f, self.bounds.size.height); 
    CGContextScaleCTM(ctx, 1.0f, -1.0f); 

    [YourTextString drawAtPoint:CGPointMake(X, Y) withAttributes:@{NSFontAttributeName:font}]; 

    CGContextRestoreGState(ctx); 
+0

はい、これは動作します。しかし、私のケースでは、背景の色が変わった。 – selva

0

システムフォントが動作しません。以下のコードを使用してください。

UIFont * font = [UIFont fontWithName:@ "Helvetica" size:fontSize]; KalTileViewの を有効にします。

+0

コードの書式を使用してください。 –

関連する問題